include/block/aio.h | 5 +- include/block/raw-aio.h | 19 +- include/hw/scsi/scsi.h | 8 +- include/hw/virtio/iothread-vq-mapping.h | 45 +++ include/hw/virtio/virtio-scsi.h | 15 +- include/system/block-backend-global-state.h | 1 - include/system/dma.h | 3 +- util/aio-posix.h | 1 + block/block-backend.c | 12 - block/file-posix.c | 29 +- block/io.c | 4 + block/io_uring.c | 25 +- block/linux-aio.c | 25 +- block/snapshot.c | 1 + hw/block/virtio-blk.c | 132 +------- hw/ide/core.c | 3 +- hw/ide/macio.c | 3 +- hw/scsi/scsi-bus.c | 121 +++++-- hw/scsi/scsi-disk.c | 24 +- hw/scsi/virtio-scsi-dataplane.c | 103 ++++-- hw/scsi/virtio-scsi.c | 502 ++++++++++++++++------------ hw/virtio/iothread-vq-mapping.c | 131 ++++++++ system/dma-helpers.c | 8 +- util/aio-posix.c | 114 ++++--- util/async.c | 1 - scripts/qcow2-to-stdout.py | 449 +++++++++++++++++++++++++ hw/virtio/meson.build | 1 + meson.build | 8 + tests/qemu-iotests/051.pc.out | 2 +- tests/qemu-iotests/tests/qsd-migrate | 2 +- 30 files changed, 1286 insertions(+), 511 deletions(-) create mode 100644 include/hw/virtio/iothread-vq-mapping.h create mode 100644 hw/virtio/iothread-vq-mapping.c create mode 100755 scripts/qcow2-to-stdout.py