From 922453bca6a927bb527068ae8679d587cfa45dbc Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Wed, 30 Nov 2011 12:23:43 +0000 Subject: block: convert qemu_aio_flush() calls to bdrv_drain_all() Many places in QEMU call qemu_aio_flush() to complete all pending asynchronous I/O. Most of these places actually want to drain all block requests but there is no block layer API to do so. This patch introduces the bdrv_drain_all() API to wait for requests across all BlockDriverStates to complete. As a bonus we perform checks after qemu_aio_wait() to ensure that requests really have finished. Signed-off-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf --- cpus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpus.c') diff --git a/cpus.c b/cpus.c index 82530c4..58e173c 100644 --- a/cpus.c +++ b/cpus.c @@ -396,7 +396,7 @@ static void do_vm_stop(RunState state) pause_all_vcpus(); runstate_set(state); vm_state_notify(0, state); - qemu_aio_flush(); + bdrv_drain_all(); bdrv_flush_all(); monitor_protocol_event(QEVENT_STOP, NULL); } -- cgit v1.1