aboutsummaryrefslogtreecommitdiff
path: root/aio.c
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 10:58:46 -0500
commit6e5d97d01d9da6f295f9888d4b34e29fd737861a (patch)
tree739b598388705671ebdf206254b0493fd121c957 /aio.c
parentbd8367761236cd5c435598aeb2f1b8240c09b059 (diff)
downloadqemu-6e5d97d01d9da6f295f9888d4b34e29fd737861a.zip
qemu-6e5d97d01d9da6f295f9888d4b34e29fd737861a.tar.gz
qemu-6e5d97d01d9da6f295f9888d4b34e29fd737861a.tar.bz2
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>
Diffstat (limited to 'aio.c')
-rw-r--r--aio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/aio.c b/aio.c
index dc9b85d..efc63fd 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)