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 --- hw/xen_platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'hw/xen_platform.c') diff --git a/hw/xen_platform.c b/hw/xen_platform.c index 5e792f5..e62eaef 100644 --- a/hw/xen_platform.c +++ b/hw/xen_platform.c @@ -120,7 +120,7 @@ static void platform_fixed_ioport_writew(void *opaque, uint32_t addr, uint32_t v devices, and bit 2 the non-primary-master IDE devices. */ if (val & UNPLUG_ALL_IDE_DISKS) { DPRINTF("unplug disks\n"); - qemu_aio_flush(); + bdrv_drain_all(); bdrv_flush_all(); pci_unplug_disks(s->pci_dev.bus); } -- cgit v1.1