Message ID | 1446044465-19312-4-git-send-email-den@openvz.org |
---|---|
State | New |
Headers | show |
On Wed, Oct 28, 2015 at 06:01:04PM +0300, Denis V. Lunev wrote: > as described in the comment of the function > > Signed-off-by: Denis V. Lunev <den@openvz.org> > CC: Stefan Hajnoczi <stefanha@redhat.com> > CC: Paolo Bonzini <pbonzini@redhat.com> > --- > block/io.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/block/io.c b/block/io.c > index 5ac6256..2e98d45 100644 > --- a/block/io.c > +++ b/block/io.c > @@ -247,12 +247,15 @@ bool bdrv_requests_pending(BlockDriverState *bs) > void bdrv_drain(BlockDriverState *bs) > { > bool busy = true; > + AioContext *aio_context = bdrv_get_aio_context(bs); > + > + assert(aio_context_is_locked(aio_context)); Cool, thanks! This is a useful assertion to have.
diff --git a/block/io.c b/block/io.c index 5ac6256..2e98d45 100644 --- a/block/io.c +++ b/block/io.c @@ -247,12 +247,15 @@ bool bdrv_requests_pending(BlockDriverState *bs) void bdrv_drain(BlockDriverState *bs) { bool busy = true; + AioContext *aio_context = bdrv_get_aio_context(bs); + + assert(aio_context_is_locked(aio_context)); while (busy) { /* Keep iterating */ bdrv_flush_io_queue(bs); busy = bdrv_requests_pending(bs); - busy |= aio_poll(bdrv_get_aio_context(bs), busy); + busy |= aio_poll(aio_context, busy); } }
as described in the comment of the function Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Stefan Hajnoczi <stefanha@redhat.com> CC: Paolo Bonzini <pbonzini@redhat.com> --- block/io.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)