summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNolan <nolan@sigbus.net>2009-07-20 14:01:25 -0700
committerAnthony Liguori <aliguori@us.ibm.com>2009-07-22 15:41:01 -0500
commit3f5cb28d9e458a29e1da1a9ba0a1499a57872d49 (patch)
treebc80503181b17815032e743de8cfca64f3995b3f
parentdd500a9241f4b7ac12c737fe5f929a53bd965e47 (diff)
downloadqemu-3f5cb28d9e458a29e1da1a9ba0a1499a57872d49.tar.gz
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>
-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)