aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNolan <nolan@sigbus.net>2009-07-20 14:01:25 -0700
committerGlauber Costa <glommer@redhat.com>2009-07-23 10:37:30 -0400
commit0dd99a1e37baf1964455df4ab5dc51a91bfd3b99 (patch)
tree74a217a1344ddd87a65905ac1c62594f4285d447
parent07fdfe83cf7c35f1f17b095e3959ea0472cd0ebd (diff)
Handle BH's queued by AIO completions in qemu_aio_flush()
Without this, the call to qemu_aio_flush during migration doesn't actually flush all in-flight SCSI IOs. Signed-off-by: Nolan Leake <nolan <at> sigbus.net> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Glauber Costa <glommer@redhat.com>
-rw-r--r--aio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/aio.c b/aio.c
index dc9b85d167..efc63fd9a1 100644
--- a/aio.c
+++ b/aio.c
@@ -112,7 +112,7 @@ void qemu_aio_flush(void)
LIST_FOREACH(node, &aio_handlers, node) {
ret |= node->io_flush(node->opaque);
}
- } while (ret > 0);
+ } while (qemu_bh_poll() || ret > 0);
}
void qemu_aio_wait(void)