[PULL v2 00/28] Block layer patches

Kevin Wolf posted 28 patches 7 months, 1 week ago
Only 0 patches received!
There is a newer version of this series
qapi/block-core.json                             |   6 +-
include/block/aio.h                              |   3 +-
include/block/block-common.h                     |   7 +
include/block/block-global-state.h               |  32 +-
include/block/block-io.h                         |   1 -
include/block/block_int-common.h                 |  34 +-
include/block/block_int-global-state.h           |  14 +-
include/sysemu/block-backend-global-state.h      |   4 +-
block.c                                          | 348 +++++++---
block/blklogwrites.c                             |   4 +
block/blkverify.c                                |   2 +
block/block-backend.c                            |  64 +-
block/copy-before-write.c                        |  10 +-
block/crypto.c                                   |   6 +-
block/graph-lock.c                               |  26 +-
block/io.c                                       |  23 +-
block/mirror.c                                   |   8 +
block/preallocate.c                              | 133 ++--
block/qcow.c                                     |   5 +-
block/qcow2.c                                    |   7 +-
block/quorum.c                                   |  23 +-
block/replication.c                              |   9 +
block/snapshot.c                                 |   2 +
block/stream.c                                   |  20 +-
block/vmdk.c                                     |  15 +
blockdev.c                                       |  23 +-
blockjob.c                                       |   2 +
hw/nvme/ctrl.c                                   |   7 -
qemu-img.c                                       |   8 +-
softmmu/dma-helpers.c                            |   8 -
tests/unit/test-bdrv-drain.c                     |  31 +-
tests/unit/test-bdrv-graph-mod.c                 |  20 +
tests/unit/test-block-iothread.c                 |   3 +
util/thread-pool.c                               |   8 -
scripts/block-coroutine-wrapper.py               |  18 +-
tests/qemu-iotests/051.pc.out                    |   6 +-
tests/qemu-iotests/122.out                       |  84 +--
tests/qemu-iotests/146.out                       | 780 +++++++++++------------
tests/qemu-iotests/154.out                       | 194 +++---
tests/qemu-iotests/179.out                       | 178 +++---
tests/qemu-iotests/209.out                       |   4 +-
tests/qemu-iotests/221.out                       |  16 +-
tests/qemu-iotests/223.out                       |  60 +-
tests/qemu-iotests/241.out                       |  10 +-
tests/qemu-iotests/244.out                       |  24 +-
tests/qemu-iotests/252.out                       |  10 +-
tests/qemu-iotests/253.out                       |  20 +-
tests/qemu-iotests/274.out                       |  48 +-
tests/qemu-iotests/tests/nbd-qemu-allocation.out |  16 +-
tests/qemu-iotests/tests/qemu-img-bitmaps.out    |  24 +-
50 files changed, 1375 insertions(+), 1033 deletions(-)
[PULL v2 00/28] Block layer patches
Posted by Kevin Wolf 7 months, 1 week ago
The following changes since commit 4907644841e3200aea6475c0f72d3d987e9f3d93:

  Merge tag 'mem-2023-09-19' of https://github.com/davidhildenbrand/qemu into staging (2023-09-19 13:22:19 -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 c428b392590df6364a025d5841e3e8a589ebfd4a:

  block: mark aio_poll as non-coroutine (2023-09-20 17:46:16 +0200)

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

- Graph locking part 4 (node management)
- qemu-img map: report compressed data blocks
- block-backend: process I/O in the current AioContext

----------------------------------------------------------------
Andrey Drobyshev via (2):
      block: add BDRV_BLOCK_COMPRESSED flag for bdrv_block_status()
      qemu-img: map: report compressed data blocks

Kevin Wolf (21):
      block: Remove unused BlockReopenQueueEntry.perms_checked
      preallocate: Factor out preallocate_truncate_to_real_size()
      preallocate: Don't poll during permission updates
      block: Take AioContext lock for bdrv_append() more consistently
      block: Introduce bdrv_schedule_unref()
      block-coroutine-wrapper: Add no_co_wrapper_bdrv_wrlock functions
      block-coroutine-wrapper: Allow arbitrary parameter names
      block: Mark bdrv_replace_child_noperm() GRAPH_WRLOCK
      block: Mark bdrv_replace_child_tran() GRAPH_WRLOCK
      block: Mark bdrv_attach_child_common() GRAPH_WRLOCK
      block: Call transaction callbacks with lock held
      block: Mark bdrv_attach_child() GRAPH_WRLOCK
      block: Mark bdrv_parent_perms_conflict() and callers GRAPH_RDLOCK
      block: Mark bdrv_get_cumulative_perm() and callers GRAPH_RDLOCK
      block: Mark bdrv_child_perm() GRAPH_RDLOCK
      block: Mark bdrv_parent_cb_change_media() GRAPH_RDLOCK
      block: Take graph rdlock in bdrv_drop_intermediate()
      block: Take graph rdlock in bdrv_change_aio_context()
      block: Mark bdrv_root_unref_child() GRAPH_WRLOCK
      block: Mark bdrv_unref_child() GRAPH_WRLOCK
      block: Mark bdrv_add/del_child() and caller GRAPH_WRLOCK

Paolo Bonzini (1):
      block: mark aio_poll as non-coroutine

Stefan Hajnoczi (4):
      block: remove AIOCBInfo->get_aio_context()
      test-bdrv-drain: avoid race with BH in IOThread drain test
      block-backend: process I/O in the current AioContext
      block-backend: process zoned requests in the current AioContext

 qapi/block-core.json                             |   6 +-
 include/block/aio.h                              |   3 +-
 include/block/block-common.h                     |   7 +
 include/block/block-global-state.h               |  32 +-
 include/block/block-io.h                         |   1 -
 include/block/block_int-common.h                 |  34 +-
 include/block/block_int-global-state.h           |  14 +-
 include/sysemu/block-backend-global-state.h      |   4 +-
 block.c                                          | 348 +++++++---
 block/blklogwrites.c                             |   4 +
 block/blkverify.c                                |   2 +
 block/block-backend.c                            |  64 +-
 block/copy-before-write.c                        |  10 +-
 block/crypto.c                                   |   6 +-
 block/graph-lock.c                               |  26 +-
 block/io.c                                       |  23 +-
 block/mirror.c                                   |   8 +
 block/preallocate.c                              | 133 ++--
 block/qcow.c                                     |   5 +-
 block/qcow2.c                                    |   7 +-
 block/quorum.c                                   |  23 +-
 block/replication.c                              |   9 +
 block/snapshot.c                                 |   2 +
 block/stream.c                                   |  20 +-
 block/vmdk.c                                     |  15 +
 blockdev.c                                       |  23 +-
 blockjob.c                                       |   2 +
 hw/nvme/ctrl.c                                   |   7 -
 qemu-img.c                                       |   8 +-
 softmmu/dma-helpers.c                            |   8 -
 tests/unit/test-bdrv-drain.c                     |  31 +-
 tests/unit/test-bdrv-graph-mod.c                 |  20 +
 tests/unit/test-block-iothread.c                 |   3 +
 util/thread-pool.c                               |   8 -
 scripts/block-coroutine-wrapper.py               |  18 +-
 tests/qemu-iotests/051.pc.out                    |   6 +-
 tests/qemu-iotests/122.out                       |  84 +--
 tests/qemu-iotests/146.out                       | 780 +++++++++++------------
 tests/qemu-iotests/154.out                       | 194 +++---
 tests/qemu-iotests/179.out                       | 178 +++---
 tests/qemu-iotests/209.out                       |   4 +-
 tests/qemu-iotests/221.out                       |  16 +-
 tests/qemu-iotests/223.out                       |  60 +-
 tests/qemu-iotests/241.out                       |  10 +-
 tests/qemu-iotests/244.out                       |  24 +-
 tests/qemu-iotests/252.out                       |  10 +-
 tests/qemu-iotests/253.out                       |  20 +-
 tests/qemu-iotests/274.out                       |  48 +-
 tests/qemu-iotests/tests/nbd-qemu-allocation.out |  16 +-
 tests/qemu-iotests/tests/qemu-img-bitmaps.out    |  24 +-
 50 files changed, 1375 insertions(+), 1033 deletions(-)
Re: [PULL v2 00/28] Block layer patches
Posted by Stefan Hajnoczi 7 months, 1 week ago
Applied, thanks.

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