On Wed, Mar 12, 2025 at 12:06 AM Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit 825b96dbcee23d134b691fc75618b59c5f53da32:
>
> Merge tag 'migration-20250310-pull-request' of https://gitlab.com/farosas/qemu into staging (2025-03-11 09:32:07 +0800)
>
> are available in the Git repository at:
>
> https://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to a93c04f3cbe690877b3297a9df4767aa811fcd97:
>
> virtio-scsi: only expose cmd vqs via iothread-vq-mapping (2025-03-11 15:49:22 +0100)
>
> ----------------------------------------------------------------
> Block layer patches
>
> - virtio-scsi: add iothread-vq-mapping parameter
> - Improve writethrough performance
> - Fix missing zero init in bdrv_snapshot_goto()
> - Code cleanup and iotests fixes
The following CI failures came up:
1. laio_has_fua() is missing on some host OSes:
https://gitlab.com/qemu-project/qemu/-/jobs/9380928997#L3369
2. io_uring_prep_writev2() without #ifdef HAVE_IO_PREP_PWRITEV2:
https://gitlab.com/qemu-project/qemu/-/jobs/9380928883#L2515
3. qemu-iotests 051:
https://gitlab.com/qemu-project/qemu/-/jobs/9380928853#L4519
Please send a v2 pull request. Thanks!
Stefan
>
> ----------------------------------------------------------------
> Kevin Wolf (8):
> block: Remove unused blk_op_is_blocked()
> block: Zero block driver state before reopening
> file-posix: Support FUA writes
> block/io: Ignore FUA with cache.no-flush=on
> aio: Create AioPolledEvent
> aio-posix: Factor out adjust_polling_time()
> aio-posix: Separate AioPolledEvent per AioHandler
> aio-posix: Adjust polling time also for new handlers
>
> Stefan Hajnoczi (13):
> scsi-disk: drop unused SCSIDiskState->bh field
> dma: use current AioContext for dma_blk_io()
> scsi: track per-SCSIRequest AioContext
> scsi: introduce requests_lock
> virtio-scsi: introduce event and ctrl virtqueue locks
> virtio-scsi: protect events_dropped field
> virtio-scsi: perform TMFs in appropriate AioContexts
> virtio-blk: extract cleanup_iothread_vq_mapping() function
> virtio-blk: tidy up iothread_vq_mapping functions
> virtio: extract iothread-vq-mapping.h API
> virtio-scsi: add iothread-vq-mapping parameter
> virtio-scsi: handle ctrl virtqueue in main loop
> virtio-scsi: only expose cmd vqs via iothread-vq-mapping
>
> Thomas Huth (1):
> iotests: Limit qsd-migrate to working formats
>
> include/block/aio.h | 5 +-
> include/block/raw-aio.h | 8 +-
> 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 | 26 +-
> block/io.c | 4 +
> block/io_uring.c | 13 +-
> block/linux-aio.c | 24 +-
> 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 -
> hw/virtio/meson.build | 1 +
> meson.build | 4 +
> tests/qemu-iotests/tests/qsd-migrate | 2 +-
> 28 files changed, 803 insertions(+), 512 deletions(-)
> create mode 100644 include/hw/virtio/iothread-vq-mapping.h
> create mode 100644 hw/virtio/iothread-vq-mapping.c
>
>