mbox

[PULL,00/27] Block layer patches

Message ID 20231031185918.346940-1-kwolf@redhat.com
State New
Headers show

Pull-request

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

Message

Kevin Wolf Oct. 31, 2023, 6:58 p.m. UTC
The following changes since commit 516fffc9933cb21fad41ca8f7bf465d238d4d375:

  Merge tag 'pull-lu-20231030' of https://gitlab.com/rth7680/qemu into staging (2023-10-31 07:12:40 +0900)

are available in the Git repository at:

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

for you to fetch changes up to 900e7d413d630ebd3f5d64bae0e6249621ec0c7f:

  iotests: add test for changing mirror's copy_mode (2023-10-31 19:46:51 +0100)

----------------------------------------------------------------
Block layer patches

- virtio-blk: use blk_io_plug_call() instead of notification BH
- mirror: allow switching from background to active mode
- qemu-img rebase: add compression support
- Fix locking in media change monitor commands
- Fix a few blockjob-related deadlocks when using iothread

----------------------------------------------------------------
Andrey Drobyshev (8):
      qemu-img: rebase: stop when reaching EOF of old backing file
      qemu-iotests: 024: add rebasing test case for overlay_size > backing_size
      qemu-img: rebase: use backing files' BlockBackend for buffer alignment
      qemu-img: add chunk size parameter to compare_buffers()
      qemu-img: rebase: avoid unnecessary COW operations
      iotests/{024, 271}: add testcases for qemu-img rebase
      qemu-img: add compression option to rebase subcommand
      iotests: add tests for "qemu-img rebase" with compression

Fiona Ebner (13):
      blockjob: drop AioContext lock before calling bdrv_graph_wrlock()
      block: avoid potential deadlock during bdrv_graph_wrlock() in bdrv_close()
      blockdev: mirror: avoid potential deadlock when using iothread
      blockjob: introduce block-job-change QMP command
      block/mirror: set actively_synced even after the job is ready
      block/mirror: move dirty bitmap to filter
      block/mirror: determine copy_to_target only once
      mirror: implement mirror_change method
      qapi/block-core: use JobType for BlockJobInfo's type
      qapi/block-core: turn BlockJobInfo into a union
      blockjob: query driver-specific info via a new 'query' driver method
      mirror: return mirror-specific information upon query
      iotests: add test for changing mirror's copy_mode

Kevin Wolf (2):
      block: Fix locking in media change monitor commands
      iotests: Test media change with iothreads

Stefan Hajnoczi (4):
      block: rename blk_io_plug_call() API to defer_call()
      util/defer-call: move defer_call() to util/
      virtio: use defer_call() in virtio_irqfd_notify()
      virtio-blk: remove batch notification BH

 qapi/block-core.json                               |  59 ++++++-
 qapi/job.json                                      |   4 +-
 docs/tools/qemu-img.rst                            |   6 +-
 include/block/blockjob.h                           |  11 ++
 include/block/blockjob_int.h                       |  12 ++
 include/qemu/defer-call.h                          |  16 ++
 include/sysemu/block-backend-io.h                  |   4 -
 block.c                                            |   2 +-
 block/blkio.c                                      |   9 +-
 block/io_uring.c                                   |  11 +-
 block/linux-aio.c                                  |   9 +-
 block/mirror.c                                     | 131 ++++++++++----
 block/monitor/block-hmp-cmds.c                     |   4 +-
 block/nvme.c                                       |   5 +-
 block/plug.c                                       | 159 -----------------
 block/qapi-sysemu.c                                |   5 +
 blockdev.c                                         |  28 ++-
 blockjob.c                                         |  30 +++-
 hw/block/dataplane/virtio-blk.c                    |  48 +----
 hw/block/dataplane/xen-block.c                     |  11 +-
 hw/block/virtio-blk.c                              |   5 +-
 hw/scsi/virtio-scsi.c                              |   7 +-
 hw/virtio/virtio.c                                 |  13 +-
 job.c                                              |   1 +
 qemu-img.c                                         | 136 +++++++++++----
 util/defer-call.c                                  | 156 +++++++++++++++++
 util/thread-pool.c                                 |   5 +
 MAINTAINERS                                        |   3 +-
 block/meson.build                                  |   1 -
 hw/virtio/trace-events                             |   1 +
 qemu-img-cmds.hx                                   |   4 +-
 tests/qemu-iotests/024                             | 117 +++++++++++++
 tests/qemu-iotests/024.out                         |  73 ++++++++
 tests/qemu-iotests/109.out                         |  24 +--
 tests/qemu-iotests/118                             |   6 +-
 tests/qemu-iotests/271                             | 131 ++++++++++++++
 tests/qemu-iotests/271.out                         |  82 +++++++++
 tests/qemu-iotests/314                             | 165 ++++++++++++++++++
 tests/qemu-iotests/314.out                         |  75 ++++++++
 tests/qemu-iotests/tests/mirror-change-copy-mode   | 193 +++++++++++++++++++++
 .../qemu-iotests/tests/mirror-change-copy-mode.out |   5 +
 util/meson.build                                   |   1 +
 42 files changed, 1437 insertions(+), 331 deletions(-)
 create mode 100644 include/qemu/defer-call.h
 delete mode 100644 block/plug.c
 create mode 100644 util/defer-call.c
 create mode 100755 tests/qemu-iotests/314
 create mode 100644 tests/qemu-iotests/314.out
 create mode 100755 tests/qemu-iotests/tests/mirror-change-copy-mode
 create mode 100644 tests/qemu-iotests/tests/mirror-change-copy-mode.out

Comments

Stefan Hajnoczi Oct. 31, 2023, 11:31 p.m. UTC | #1
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.