[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] raw/linux-aio: Also initialize POSIX AIO
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH] raw/linux-aio: Also initialize POSIX AIO |
Date: |
Thu, 22 Oct 2009 11:05:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 |
Am 22.10.2009 10:31, schrieb Christoph Hellwig:
> On Tue, Oct 20, 2009 at 12:12:55PM +0200, Kevin Wolf wrote:
>> On that note, falling back to POSIX AIO means that paio_submit is called
>> with a Linux AIO aio_ctx. Which works because this parameter is unused
>> anyway, but am I the only one to find this ugly?
>>
>> What is the public interface of paio_submit meant to look like at all?
>> If aio_ctx is guaranteed to be unused, why not drop it or pass NULL at
>> least? And if it could be used some time in the future, the raw block
>> driver needs to be fixed.
>
> Agreed. Cared to send a patch?
Will do so if we agree to do it this way instead of doing the overkill
suggested below.
>> That said, I don't even think that the raw block driver is the right
>> place to distinguish between different AIO variants. Having a generic
>> aio_submit that calls the right AIO driver depending on the context
>> would be much cleaner. This would also mean that laio_submit handles the
>> fallback to paio_submit on its own, which I think is much cleaner than
>> teaching raw about the capabilities of each driver.
>
> Seems a bit overkill until we get even more AIO variants at least. And
> yes, that whole area is really ugly.
Yes, it might look like overkill to introduce a abstraction for exactly
two backends. I felt the same way. But then, the current implementation
just feels totally wrong. It absolutely intransparent when we fall back
to paio, and before debugging the bdrv_read/write emulation I didn't
even know that we're doing it. And, like I said, why should a block
format driver know what AIO method works which way?
I'm not insisting on restructuring though if you think that the effort
would outweigh the benefit of a cleanup.
Kevin