[PULL 00/26] Block layer patches

Kevin Wolf posted 26 patches 7 months, 1 week ago
Failed in applying to current master (apply log)
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Stefan Hajnoczi <stefanha@redhat.com>, Fam Zheng <fam@euphon.net>, Ronnie Sahlberg <ronniesahlberg@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Peter Lieven <pl@kamp.de>, Eric Blake <eblake@redhat.com>, "Denis V. Lunev" <den@openvz.org>, Alberto Garcia <berto@igalia.com>, Ilya Dryomov <idryomov@gmail.com>, Wen Congyang <wencongyang2@huawei.com>, Xie Changlong <xiechanglong.d@gmail.com>, Stefan Weil <sw@weilnetz.de>, Jeff Cody <codyprime@gmail.com>, Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Leonardo Bras <leobras@redhat.com>, Cleber Rosa <crosa@redhat.com>
There is a newer version of this series
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(-)
[PULL 00/26] Block layer patches
Posted by Kevin Wolf 7 months, 1 week ago
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(-)
Re: [PULL 00/26] Block layer patches
Posted by Stefan Hajnoczi 7 months ago
Applied, thanks.

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