[Top][All Lists]

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

Re: [Qemu-devel] [PATCH v2 09/16] block: wait for all pending I/O when d

From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v2 09/16] block: wait for all pending I/O when doing synchronous requests
Date: Thu, 17 Mar 2016 10:55:32 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, 03/16 15:16, Paolo Bonzini wrote:
> Synchronous I/O should in general happen either in the main thread (e.g.
> for bdrv_open and bdrv_create) or between bdrv_drained_begin and
> bdrv_drained_end.  Therefore, the simplest way to wait for it to finish
> is to wait for _all_ pending I/O to complete.
> In fact, there was one case in bdrv_close where we explicitly drained
> after bdrv_flush; this is now unnecessary.  And we should probably have
> called bdrv_drain_all after calls to bdrv_flush_all, which is now
> unnecessary too.
> This decouples synchronous I/O from aio_poll.  When the request used
> not to be tracked as part of bdrv_drain (e.g. bdrv_co_get_block_status)
> we need to update the in_flight count.
> Signed-off-by: Paolo Bonzini <address@hidden>

Reviewed-by: Fam Zheng <address@hidden>

reply via email to

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