]> Git Repo - qemu.git/blobdiff - block.c
cirrus: fix PUTPIXEL macro
[qemu.git] / block.c
diff --git a/block.c b/block.c
index e53808425eb5e5029a350f6158c84f06b9472c72..6e906ec53cfae252ae6db097fa5bbecb4c6621aa 100644 (file)
--- a/block.c
+++ b/block.c
@@ -4350,8 +4350,15 @@ void bdrv_attach_aio_context(BlockDriverState *bs,
 
 void bdrv_set_aio_context(BlockDriverState *bs, AioContext *new_context)
 {
+    AioContext *ctx;
+
     bdrv_drain(bs); /* ensure there are no in-flight requests */
 
+    ctx = bdrv_get_aio_context(bs);
+    while (aio_poll(ctx, false)) {
+        /* wait for all bottom halves to execute */
+    }
+
     bdrv_detach_aio_context(bs);
 
     /* This function executes in the old AioContext so acquire the new one in
This page took 0.022806 seconds and 4 git commands to generate.