mbox

[PULL,00/26] Block layer patches

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

Pull-request

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

Message

Kevin Wolf Oct. 12, 2023, 4:21 p.m. UTC
The following changes since commit a51e5124a655b3dad80b36b18547cb1eca2c5eb2:

  Merge tag 'pull-omnibus-111023-1' of https://gitlab.com/stsquad/qemu into staging (2023-10-11 09:43:10 -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 e6e964b8b021446c8d3d1f91c0208f653e9ec92c:

  block: Add assertion for bdrv_graph_wrlock() (2023-10-12 16:31:33 +0200)

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

- Clean up coroutine versions of bdrv_{is_allocated,block_status}*
- Graph locking part 5 (protect children/parent links)

----------------------------------------------------------------
Emanuele Giuseppe Esposito (1):
      block: Mark drain related functions GRAPH_RDLOCK

Kevin Wolf (21):
      test-bdrv-drain: Don't call bdrv_graph_wrlock() in coroutine context
      block-coroutine-wrapper: Add no_co_wrapper_bdrv_rdlock functions
      block: Take graph rdlock in bdrv_inactivate_all()
      block: Mark bdrv_first_blk() and bdrv_is_root_node() GRAPH_RDLOCK
      block: Mark bdrv_parent_cb_resize() and callers GRAPH_RDLOCK
      block: Mark bdrv_snapshot_fallback() and callers GRAPH_RDLOCK
      block: Take graph rdlock in parts of reopen
      block: Mark bdrv_get_xdbg_block_graph() and callers GRAPH_RDLOCK
      block: Mark bdrv_refresh_filename() and callers GRAPH_RDLOCK
      block: Mark bdrv_primary_child() and callers GRAPH_RDLOCK
      block: Mark bdrv_get_parent_name() and callers GRAPH_RDLOCK
      block: Mark bdrv_amend_options() and callers GRAPH_RDLOCK
      qcow2: Mark qcow2_signal_corruption() and callers GRAPH_RDLOCK
      qcow2: Mark qcow2_inactivate() and callers GRAPH_RDLOCK
      qcow2: Mark check_constraints_on_bitmap() GRAPH_RDLOCK
      block: Mark bdrv_op_is_blocked() and callers GRAPH_RDLOCK
      block: Mark bdrv_apply_auto_read_only() and callers GRAPH_RDLOCK
      block: Mark bdrv_get_specific_info() and callers GRAPH_RDLOCK
      block: Protect bs->parents with graph_lock
      block: Protect bs->children with graph_lock
      block: Add assertion for bdrv_graph_wrlock()

Paolo Bonzini (4):
      block: rename the bdrv_co_block_status static function
      block: complete public block status API
      block: switch to co_wrapper for bdrv_is_allocated_*
      block: convert more bdrv_is_allocated* and bdrv_block_status* calls to coroutine versions

 block/qcow2.h                               | 187 ++++++++++++++++------------
 block/vhdx.h                                |   5 +-
 include/block/block-common.h                |   7 +-
 include/block/block-global-state.h          |  34 ++---
 include/block/block-io.h                    |  71 +++++++----
 include/block/block_int-common.h            |  69 +++++-----
 include/block/block_int-io.h                |   7 +-
 include/block/graph-lock.h                  |   3 +-
 include/block/qapi.h                        |  23 ++--
 include/block/snapshot.h                    |  24 ++--
 include/sysemu/block-backend-global-state.h |   4 +-
 block.c                                     | 120 ++++++++++++------
 block/backup.c                              |   1 +
 block/block-backend.c                       |   9 +-
 block/bochs.c                               |   2 +
 block/cloop.c                               |   2 +
 block/commit.c                              |   1 +
 block/copy-before-write.c                   |   2 +-
 block/copy-on-read.c                        |   8 +-
 block/crypto.c                              |   4 +-
 block/curl.c                                |   2 +
 block/dmg.c                                 |   2 +
 block/export/export.c                       |   4 +
 block/gluster.c                             |   2 +
 block/graph-lock.c                          |   3 +-
 block/io.c                                  | 143 ++++++++++-----------
 block/iscsi.c                               |   2 +
 block/mirror.c                              |  10 +-
 block/monitor/block-hmp-cmds.c              |   5 +
 block/nbd.c                                 |   3 +-
 block/nfs.c                                 |   2 +-
 block/parallels.c                           |   3 +
 block/qapi-sysemu.c                         |  11 +-
 block/qapi.c                                |  11 +-
 block/qcow.c                                |   3 +
 block/qcow2-bitmap.c                        |  38 +++---
 block/qcow2-cache.c                         |  11 +-
 block/qcow2-cluster.c                       |  62 ++++-----
 block/qcow2-refcount.c                      |  80 ++++++------
 block/qcow2.c                               |  77 +++++++-----
 block/quorum.c                              |   4 +-
 block/raw-format.c                          |   2 +
 block/rbd.c                                 |   4 +
 block/replication.c                         |  29 +++--
 block/snapshot.c                            |  54 ++++++--
 block/stream.c                              |   8 +-
 block/vdi.c                                 |   3 +
 block/vhdx.c                                |   4 +
 block/vmdk.c                                |  53 +++++---
 block/vpc.c                                 |   3 +
 block/vvfat.c                               |  20 +--
 blockdev.c                                  |  44 +++++++
 blockjob.c                                  |   1 +
 migration/block.c                           |   2 +
 migration/migration-hmp-cmds.c              |   2 +
 qemu-img.c                                  |  16 +++
 qemu-io-cmds.c                              |   3 +
 tests/unit/test-bdrv-drain.c                |  15 ++-
 tests/unit/test-block-iothread.c            |   8 ++
 scripts/block-coroutine-wrapper.py          |  10 +-
 60 files changed, 843 insertions(+), 499 deletions(-)

Comments

Stefan Hajnoczi Oct. 16, 2023, 7:20 p.m. UTC | #1
Applied, thanks.

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