as described in the comment of the function
Signed-off-by: Denis V. Lunev <[email protected]>
CC: Stefan Hajnoczi <[email protected]>
CC: Paolo Bonzini <[email protected]>
---
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));
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);
}
}
--
2.1.4