[PULL 00/57] Block layer patches

Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250715190330.378764-1-kwolf@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Ari Sundholm <ari@tuxera.com>, Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>, Alberto Garcia <berto@igalia.com>, Wen Congyang <wencongyang2@huawei.com>, Xie Changlong <xiechanglong.d@gmail.com>, Eric Blake <eblake@redhat.com>, Markus Armbruster <armbru@redhat.com>
There is a newer version of this series
qapi/block-core.json                        |   18 +-
docs/tools/qemu-img.rst                     |   18 +-
include/block/block-global-state.h          |   46 +-
include/block/block_int-common.h            |    4 +-
include/block/blockjob.h                    |    2 +-
include/block/graph-lock.h                  |   11 +
include/block/snapshot.h                    |    6 +-
include/qemu/job.h                          |    4 +-
include/system/block-backend-global-state.h |    8 +-
block.c                                     |   75 +-
block/backup.c                              |    4 +-
block/blklogwrites.c                        |    8 +-
block/blkverify.c                           |    4 +-
block/block-backend.c                       |    8 +-
block/commit.c                              |   34 +-
block/file-posix.c                          |   29 +-
block/graph-lock.c                          |   40 +-
block/io.c                                  |    7 +-
block/mirror.c                              |   17 +-
block/monitor/block-hmp-cmds.c              |   15 +-
block/qapi.c                                |   12 +-
block/qcow2.c                               |    4 +-
block/quorum.c                              |    8 +-
block/replication.c                         |   14 +-
block/snapshot.c                            |    4 +-
block/stream.c                              |   21 +-
block/vmdk.c                                |   26 +-
blockdev.c                                  |  102 +-
blockjob.c                                  |   10 +-
qemu-img.c                                  | 1779 ++++++++++++++++-----------
tests/unit/test-bdrv-drain.c                |   46 +-
tests/unit/test-bdrv-graph-mod.c            |   20 +-
qemu-img-cmds.hx                            |    4 +-
tests/qemu-iotests/049.out                  |    9 +-
tests/qemu-iotests/153                      |    2 +-
tests/qemu-iotests/153.out                  |   36 +-
tests/qemu-iotests/178                      |    2 +-
tests/qemu-iotests/178.out.qcow2            |    3 +-
tests/qemu-iotests/178.out.raw              |    3 +-
tests/qemu-iotests/184.out                  |    8 +
tests/qemu-iotests/common.filter            |    6 +
tests/qemu-iotests/tests/qom-set-drive      |   75 ++
tests/qemu-iotests/tests/qom-set-drive.out  |   11 +
43 files changed, 1521 insertions(+), 1042 deletions(-)
create mode 100755 tests/qemu-iotests/tests/qom-set-drive
create mode 100644 tests/qemu-iotests/tests/qom-set-drive.out
[PULL 00/57] Block layer patches
Posted by Kevin Wolf 4 months ago
The following changes since commit 9a4e273ddec3927920c5958d2226c6b38b543336:

  Merge tag 'pull-tcg-20250711' of https://gitlab.com/rth7680/qemu into staging (2025-07-13 01:46:04 -0400)

are available in the Git repository at:

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

for you to fetch changes up to d7bd47bf84707d21324ad079c5aa8cca16fd138f:

  qemu-img: extend cvtnum() and use it in more places (2025-07-15 20:49:01 +0200)

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

- file-posix: Fix aio=threads performance regression after enablign FUA
- QMP query-block/query-named-block-nodes: Include child references
- Graph locking cleanups and fixes around making drain GRAPH_UNLOCKED
- qemu-img: Overhaul option handling and --help
- iotests: add test for changing the 'drive' property via 'qom-set'

----------------------------------------------------------------
Fiona Ebner (28):
      block: never use atomics to access bs->quiesce_counter
      block: add bdrv_graph_wrlock_drained() convenience wrapper
      block/mirror: switch to bdrv_set_backing_hd_drained() variant
      block/commit: switch to bdrv_set_backing_hd_drained() variant
      block: call bdrv_set_backing_hd() while unlocked in bdrv_open_backing_file()
      block: mark bdrv_set_backing_hd() as GRAPH_UNLOCKED
      blockdev: avoid locking and draining multiple times in external_snapshot_abort()
      block: drop wrapper for bdrv_set_backing_hd_drained()
      block-backend: mark blk_drain_all() as GRAPH_UNLOCKED
      block/snapshot: mark bdrv_all_delete_snapshot() as GRAPH_UNLOCKED
      block/stream: mark stream_prepare() as GRAPH_UNLOCKED
      block: mark bdrv_reopen_queue() and bdrv_reopen_multiple() as GRAPH_UNLOCKED
      block: mark bdrv_inactivate() as GRAPH_RDLOCK and move drain to callers
      block: mark bdrv_inactivate_all() as GRAPH_UNLOCKED
      block: mark blk_remove_bs() as GRAPH_UNLOCKED
      block: mark blk_drain() as GRAPH_UNLOCKED
      block-backend: mark blk_io_limits_disable() as GRAPH_UNLOCKED
      block/commit: mark commit_abort() as GRAPH_UNLOCKED
      block: mark bdrv_replace_child_bs() as GRAPH_UNLOCKED
      block: mark bdrv_insert_node() as GRAPH_UNLOCKED
      block: mark bdrv_drop_intermediate() as GRAPH_UNLOCKED
      block: mark bdrv_close_all() as GRAPH_UNLOCKED
      block: mark bdrv_close() as GRAPH_UNLOCKED
      block: mark bdrv_open_child_common() and its callers GRAPH_UNLOCKED
      blockjob: mark block_job_remove_all_bdrv() as GRAPH_UNLOCKED
      block/qapi: include child references in block device info
      block/qapi: make @node-name in @BlockDeviceInfo non-optional
      iotests: add test for changing the 'drive' property via 'qom-set'

Kevin Wolf (2):
      block: Allow bdrv_new() with and without graph lock
      file-posix: Fix aio=threads performance regression after enablign FUA

Michael Tokarev (27):
      qemu-img: measure: convert img_size to signed, simplify handling
      qemu-img: create: convert img_size to signed, simplify handling
      qemu-img: global option processing and error printing
      qemu-img: pass current cmd info into command handlers
      qemu-img: create: refresh options/--help (short option change)
      qemu-img: factor out parse_output_format() and use it in the code
      qemu-img: check: refresh options/--help
      qemu-img: simplify --repair error message
      qemu-img: commit: refresh options/--help
      qemu-img: compare: use helper function for --object
      qemu-img: compare: refresh options/--help
      qemu-img: convert: refresh options/--help (short option change)
      qemu-img: info: refresh options/--help
      qemu-img: map: refresh options/--help
      qemu-img: snapshot: allow specifying -f fmt
      qemu-img: snapshot: make -l (list) the default, simplify option handling
      qemu-img: snapshot: refresh options/--help
      qemu-img: rebase: refresh options/--help (short option change)
      qemu-img: resize: do not always eat last argument
      qemu-img: resize: refresh options/--help
      qemu-img: amend: refresh options/--help
      qemu-img: bench: refresh options/--help
      qemu-img: bitmap: refresh options/--help
      qemu-img: dd: refresh options/--help
      qemu-img: measure: refresh options/--help
      qemu-img: implement short --help, remove global help() function
      qemu-img: extend cvtnum() and use it in more places

 qapi/block-core.json                        |   18 +-
 docs/tools/qemu-img.rst                     |   18 +-
 include/block/block-global-state.h          |   46 +-
 include/block/block_int-common.h            |    4 +-
 include/block/blockjob.h                    |    2 +-
 include/block/graph-lock.h                  |   11 +
 include/block/snapshot.h                    |    6 +-
 include/qemu/job.h                          |    4 +-
 include/system/block-backend-global-state.h |    8 +-
 block.c                                     |   75 +-
 block/backup.c                              |    4 +-
 block/blklogwrites.c                        |    8 +-
 block/blkverify.c                           |    4 +-
 block/block-backend.c                       |    8 +-
 block/commit.c                              |   34 +-
 block/file-posix.c                          |   29 +-
 block/graph-lock.c                          |   40 +-
 block/io.c                                  |    7 +-
 block/mirror.c                              |   17 +-
 block/monitor/block-hmp-cmds.c              |   15 +-
 block/qapi.c                                |   12 +-
 block/qcow2.c                               |    4 +-
 block/quorum.c                              |    8 +-
 block/replication.c                         |   14 +-
 block/snapshot.c                            |    4 +-
 block/stream.c                              |   21 +-
 block/vmdk.c                                |   26 +-
 blockdev.c                                  |  102 +-
 blockjob.c                                  |   10 +-
 qemu-img.c                                  | 1779 ++++++++++++++++-----------
 tests/unit/test-bdrv-drain.c                |   46 +-
 tests/unit/test-bdrv-graph-mod.c            |   20 +-
 qemu-img-cmds.hx                            |    4 +-
 tests/qemu-iotests/049.out                  |    9 +-
 tests/qemu-iotests/153                      |    2 +-
 tests/qemu-iotests/153.out                  |   36 +-
 tests/qemu-iotests/178                      |    2 +-
 tests/qemu-iotests/178.out.qcow2            |    3 +-
 tests/qemu-iotests/178.out.raw              |    3 +-
 tests/qemu-iotests/184.out                  |    8 +
 tests/qemu-iotests/common.filter            |    6 +
 tests/qemu-iotests/tests/qom-set-drive      |   75 ++
 tests/qemu-iotests/tests/qom-set-drive.out  |   11 +
 43 files changed, 1521 insertions(+), 1042 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/qom-set-drive
 create mode 100644 tests/qemu-iotests/tests/qom-set-drive.out
Re: [PULL 00/57] Block layer patches
Posted by Stefan Hajnoczi 4 months ago
Applied, thanks.

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