]> git.proxmox.com Git - mirror_qemu.git/commit - block/linux-aio.c
raw-posix: Switch to bdrv_co_* interfaces
authorKevin Wolf <kwolf@redhat.com>
Wed, 6 Aug 2014 15:18:07 +0000 (17:18 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 16 Jun 2016 13:19:55 +0000 (15:19 +0200)
commit2174f12bdeb3974141784e14bbb7ad8c53178cd9
tree3e20c21f794016df24d86529a9540c1fd3b42dd6
parent9896c8765fdd916844596c3e6929b3c641e930b1
raw-posix: Switch to bdrv_co_* interfaces

In order to use the modern byte-based .bdrv_co_preadv/pwritev()
interface, this patch switches raw-posix to coroutine-based interfaces
as a first step. In terms of semantics and performance, it doesn't make
a difference with the existing code whether we go from a coroutine to a
callback-based interface already in block/io.c or only in linux-aio.c

As there have been concerns in the past that this change may be a step
in the wrong direction with respect to a possible AIO fast path, the
old callback-based interface for linux-aio is left around and can be
reactivated when a fast path (e.g. directly from virtio-blk dataplane,
bypassing the whole block layer) is implemented.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
block/linux-aio.c
block/raw-aio.h
block/raw-posix.c