v2->v3: fix comments from sheepdog maintainer v1->v2: moved coroutine send/recv functions to osdep.c, added support for multiple in-flight requests, added support for co_discard and aio_discard.
Paolo Bonzini (14): sheepdog: add coroutine_fn markers add socket_set_block add qemu_send_full and qemu_recv_full sheepdog: move coroutine send/recv function to generic code block: group together the plugging of synchronous IO emulation block: add bdrv_co_flush support block: add bdrv_co_discard and bdrv_aio_discard support nbd: fix error handling in the server nbd: add support for NBD_CMD_FLUSH nbd: add support for NBD_CMD_FLAG_FUA nbd: add support for NBD_CMD_TRIM nbd: switch to asynchronous operation nbd: split requests nbd: allow multiple in-flight requests Stefan Hajnoczi (1): block: emulate .bdrv_flush() using .bdrv_aio_flush() Makefile.objs | 2 +- block.c | 228 +++++++++++++++++++++++++++++++++++---- block.h | 3 + block/blkdebug.c | 6 - block/blkverify.c | 9 -- block/nbd.c | 293 +++++++++++++++++++++++++++++++++++++++++++++------ block/qcow.c | 6 - block/qcow2.c | 19 ---- block/qed.c | 6 - block/raw-posix.c | 18 --- block/sheepdog.c | 244 +++++------------------------------------- block_int.h | 10 ++- cutils.c | 111 +++++++++++++++++++ nbd.c | 66 ++++++++++-- osdep.c | 67 ++++++++++++ oslib-posix.c | 7 ++ oslib-win32.c | 6 + qemu-common.h | 34 ++++++ qemu-coroutine-io.c | 96 +++++++++++++++++ qemu_socket.h | 1 + trace-events | 1 + 21 files changed, 881 insertions(+), 352 deletions(-) create mode 100644 qemu-coroutine-io.c -- 1.7.6