The following changes since commit 09be8a511a2e278b45729d7b065d30c68dd699d0:
Merge tag 'pull-qapi-2025-06-03' of https://repo.or.cz/qemu/armbru into staging (2025-06-03 09:19:26 -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 eef2dd03f948a512499775043bdc0c5c88d8a2dd: hw/core/qdev-properties-system: Add missing return in set_drive_helper() (2025-06-04 18:16:34 +0200) ---------------------------------------------------------------- Block layer patches - Deadlock fixes: Do not drain while holding the graph lock - qdev-properties-system: Fix assertion failure in set_drive_helper() - iotests: fix 240 ---------------------------------------------------------------- Andrey Drobyshev (1): iotests/graph-changes-while-io: add test case with removal of lower snapshot Fiona Ebner (22): block: remove outdated comments about AioContext locking block: move drain outside of read-locked bdrv_reopen_queue_child() block/snapshot: move drain outside of read-locked bdrv_snapshot_delete() block: move drain outside of read-locked bdrv_inactivate_recurse() block: mark bdrv_parent_change_aio_context() GRAPH_RDLOCK block: mark change_aio_ctx() callback and instances as GRAPH_RDLOCK(_PTR) block: mark bdrv_child_change_aio_context() GRAPH_RDLOCK block: move drain outside of bdrv_change_aio_context() and mark GRAPH_RDLOCK block: move drain outside of bdrv_try_change_aio_context() block: move drain outside of bdrv_attach_child_common(_abort)() block: move drain outside of bdrv_set_backing_hd_drained() block: move drain outside of bdrv_root_attach_child() block: move drain outside of bdrv_attach_child() block: move drain outside of quorum_add_child() block: move drain outside of bdrv_root_unref_child() block: move drain outside of quorum_del_child() blockdev: drain while unlocked in internal_snapshot_action() blockdev: drain while unlocked in external_snapshot_action() block: mark bdrv_drained_begin() and friends as GRAPH_UNLOCKED iotests/graph-changes-while-io: remove image file after test block/io: remove duplicate GLOBAL_STATE_CODE() in bdrv_do_drained_end() hw/core/qdev-properties-system: Add missing return in set_drive_helper() Stefan Hajnoczi (1): iotests: fix 240 include/block/block-global-state.h | 19 +- include/block/block-io.h | 2 +- include/block/block_int-common.h | 32 ++- include/block/blockjob.h | 2 + block.c | 235 ++++++++++++++------- block/backup.c | 2 + block/blklogwrites.c | 4 + block/blkverify.c | 2 + block/block-backend.c | 10 +- block/commit.c | 4 + block/io.c | 1 - block/mirror.c | 5 + block/qcow2.c | 4 + block/quorum.c | 4 + block/replication.c | 7 + block/snapshot.c | 28 ++- block/stream.c | 10 +- block/vmdk.c | 10 + blockdev.c | 78 +++++-- blockjob.c | 12 +- hw/core/qdev-properties-system.c | 1 + qemu-img.c | 2 + tests/unit/test-bdrv-drain.c | 24 ++- tests/unit/test-bdrv-graph-mod.c | 10 + tests/qemu-iotests/240 | 2 - tests/qemu-iotests/240.out | 4 +- tests/qemu-iotests/tests/graph-changes-while-io | 102 ++++++++- .../qemu-iotests/tests/graph-changes-while-io.out | 4 +- 28 files changed, 475 insertions(+), 145 deletions(-)