qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/3] block: convert qemu_aio_flush() calls to bd


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH 3/3] block: convert qemu_aio_flush() calls to bdrv_drain_all()
Date: Wed, 30 Nov 2011 12:54:30 +0000

On Wed, Nov 30, 2011 at 12:28 PM, Christoph Hellwig <address@hidden> wrote:
> On Wed, Nov 30, 2011 at 12:23:43PM +0000, Stefan Hajnoczi wrote:
>> Many places in QEMU call qemu_aio_flush() to complete all pending
>> asynchronous I/O.  Most of these places actually want to drain all block
>> requests but there is block layer API to do so.
>
> there seems to be a "not" missing in the last half sentence.
>
>>
>> This patch introduces the bdrv_drain_all() API to wait for requests
>> across all BlockDriverStates to complete.  As a bonus we perform checks
>> after qemu_aio_wait() to ensure that requests really have finished.
>
> It looks like all but four of the callers actually just want to drain a
> single BlockDriverState.  And one of those four already has its own loop
> over all BlockDriverStates.

Yes, we still don't have an interface for waiting on just one
BlockDriverState.  virtio-blk even has a comment about the fact that
there is no per-block device way of waiting.

I think this should be done later since it is independent of adding
these asserts after qemu_aio_flush() (which is what this patch does).

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]