]> git.proxmox.com Git - qemu.git/commit
block: convert qemu_aio_flush() calls to bdrv_drain_all()
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Wed, 30 Nov 2011 12:23:43 +0000 (12:23 +0000)
committerKevin Wolf <kwolf@redhat.com>
Mon, 5 Dec 2011 13:56:06 +0000 (14:56 +0100)
commit922453bca6a927bb527068ae8679d587cfa45dbc
treebeb8fc3e9e180558f423e5b7ce97affed1ee8ca6
parent5f8b6491f20732e0a31e64bbf75b62def579e044
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 <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 files changed:
block-migration.c
block.c
block.h
blockdev.c
cpus.c
hw/ide/macio.c
hw/ide/pci.c
hw/virtio-blk.c
hw/xen_platform.c
qemu-io.c
savevm.c
xen-mapcache.c