aboutsummaryrefslogtreecommitdiff
path: root/aio.c
diff options
context:
space:
mode:
Diffstat (limited to 'aio.c')
-rw-r--r--aio.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/aio.c b/aio.c
index 11fbb6c0c5..dc9b85d167 100644
--- a/aio.c
+++ b/aio.c
@@ -103,11 +103,15 @@ void qemu_aio_flush(void)
do {
ret = 0;
+ /*
+ * If there are pending emulated aio start them now so flush
+ * will be able to return 1.
+ */
+ qemu_aio_wait();
+
LIST_FOREACH(node, &aio_handlers, node) {
ret |= node->io_flush(node->opaque);
}
-
- qemu_aio_wait();
} while (ret > 0);
}