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.


Reply via email to