mbox

[PULL,00/22] Block layer patches

Message ID 20250311160021.349761-1-kwolf@redhat.com (mailing list archive)
State New
Headers show

Pull-request

https://repo.or.cz/qemu/kevin.git tags/for-upstream

Message

Kevin Wolf March 11, 2025, 3:59 p.m. UTC
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

----------------------------------------------------------------
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