The only difference from v2 is the disappearing of bdrv_aio_pdiscard, bdrv_aio_ioctl and bdrv_ioctl.
Thanks, Paolo Fam Zheng (1): qed: Implement .bdrv_drain Paolo Bonzini (19): replication: interrupt failover if the main device is closed blockjob: introduce .drain callback for jobs mirror: use bdrv_drained_begin/bdrv_drained_end block: add BDS field to count in-flight requests block: change drain to look only at one child at a time block: introduce BDRV_POLL_WHILE nfs: move nfs_set_events out of the while loops nfs: use BDRV_POLL_WHILE sheepdog: use BDRV_POLL_WHILE aio: introduce qemu_get_current_aio_context iothread: detach all block devices before stopping them replication: pass BlockDriverState to reopen_backing_file block: prepare bdrv_reopen_multiple to release AioContext qemu-io: acquire AioContext qemu-img: call aio_context_acquire/release around block job block: only call aio_poll on the current thread's AioContext iothread: release AioContext around aio_poll qemu-thread: introduce QemuRecMutex aio: convert from RFifoLock to QemuRecMutex async.c | 29 ++------- block.c | 6 +- block/backup.c | 17 +++++ block/block-backend.c | 30 ++++++--- block/commit.c | 2 +- block/io.c | 137 ++++++++++++++++++++++------------------ block/mirror.c | 70 ++++++++++++++------ block/nfs.c | 55 +++++++++------- block/qed-table.c | 16 ++--- block/qed.c | 16 ++++- block/replication.c | 27 +++++--- block/sheepdog.c | 67 +++++++++++--------- blockjob.c | 37 ++++++----- docs/multiple-iothreads.txt | 40 +++++++----- hw/scsi/virtio-scsi-dataplane.c | 4 +- include/block/aio.h | 24 +++++-- include/block/block.h | 31 ++++++++- include/block/block_int.h | 27 ++++++-- include/block/blockjob.h | 7 ++ include/qemu/rfifolock.h | 54 ---------------- include/qemu/thread-posix.h | 6 ++ include/qemu/thread-win32.h | 10 +++ include/qemu/thread.h | 3 + iothread.c | 33 +++++++--- qemu-img.c | 6 ++ qemu-io-cmds.c | 6 +- stubs/Makefile.objs | 1 + stubs/iothread.c | 8 +++ tests/.gitignore | 1 - tests/Makefile.include | 2 - tests/test-aio.c | 22 ++++--- tests/test-rfifolock.c | 91 -------------------------- util/Makefile.objs | 1 - util/qemu-thread-posix.c | 14 ++++ util/qemu-thread-win32.c | 25 ++++++++ util/rfifolock.c | 78 ----------------------- 36 files changed, 521 insertions(+), 482 deletions(-) delete mode 100644 include/qemu/rfifolock.h create mode 100644 stubs/iothread.c delete mode 100644 tests/test-rfifolock.c delete mode 100644 util/rfifolock.c -- 2.7.4