[PULL v2 00/21] Block layer patches

Kevin Wolf posted 21 patches 11 months, 3 weeks ago
Only 0 patches received!
There is a newer version of this series
docs/interop/qcow2.txt                             |  10 +-
include/block/block-global-state.h                 |   8 +-
include/block/block_int-common.h                   |   4 +-
include/block/blockjob_int.h                       |  14 +-
include/io/channel.h                               |  10 +
block.c                                            |   1 -
block/commit.c                                     |   7 +-
block/create.c                                     |   1 -
block/crypto.c                                     |  25 +-
block/export/export.c                              |   6 +-
block/graph-lock.c                                 |  31 +-
block/mirror.c                                     |  23 +-
block/parallels.c                                  |   6 +-
block/qcow.c                                       |   6 +-
block/qcow2.c                                      |  43 +-
block/qed.c                                        |   6 +-
block/raw-format.c                                 |   2 +-
block/stream.c                                     |   7 +-
block/vdi.c                                        |  11 +-
block/vhdx.c                                       |   8 +-
block/vmdk.c                                       |  27 +-
block/vpc.c                                        |   6 +-
blockdev.c                                         | 606 +++++++++------------
blockjob.c                                         |  22 +-
io/channel.c                                       |  33 +-
nbd/server.c                                       |   3 +-
qemu-img.c                                         |   5 +-
tests/unit/test-bdrv-drain.c                       |   6 +-
tests/unit/test-nested-aio-poll.c                  | 130 +++++
util/aio-posix.c                                   |  11 +
tests/qemu-iotests/iotests.py                      |   4 +
tests/qemu-iotests/245                             |   7 +-
tests/qemu-iotests/245.out                         |   9 +-
tests/qemu-iotests/tests/graph-changes-while-io    |  56 +-
.../qemu-iotests/tests/graph-changes-while-io.out  |   4 +-
tests/unit/meson.build                             |   5 +-
36 files changed, 661 insertions(+), 502 deletions(-)
create mode 100644 tests/unit/test-nested-aio-poll.c
[PULL v2 00/21] Block layer patches
Posted by Kevin Wolf 11 months, 3 weeks ago
The following changes since commit 6972ef1440a9d685482d78672620a7482f2bd09a:

  Merge tag 'pull-tcg-20230516-3' of https://gitlab.com/rth7680/qemu into staging (2023-05-16 21:30:27 -0700)

are available in the Git repository at:

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

for you to fetch changes up to c1bc2467c25ae2b846eeb5d338d1c697c6f83833:

  iotests: Test commit with iothreads and ongoing I/O (2023-05-19 11:32:19 +0200)

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

- qcow2 spec: Rename "zlib" compression to "deflate"
- Honour graph read lock even in the main thread + prerequisite fixes
- aio-posix: do not nest poll handlers (fixes infinite recursion)
- Refactor QMP blockdev transactions
- graph-lock: Disable locking for now
- iotests/245: Check if 'compress' driver is available

----------------------------------------------------------------
Akihiro Suda (1):
      docs/interop/qcow2.txt: fix description about "zlib" clusters

Kevin Wolf (12):
      block: Call .bdrv_co_create(_opts) unlocked
      block/export: Fix null pointer dereference in error path
      qcow2: Unlock the graph in qcow2_do_open() where necessary
      qemu-img: Take graph lock more selectively
      test-bdrv-drain: Take graph lock more selectively
      test-bdrv-drain: Call bdrv_co_unref() in coroutine context
      blockjob: Adhere to rate limit even when reentered early
      graph-lock: Honour read locks even in the main thread
      iotests/245: Check if 'compress' driver is available
      graph-lock: Disable locking for now
      nbd/server: Fix drained_poll to wake coroutine in right AioContext
      iotests: Test commit with iothreads and ongoing I/O

Stefan Hajnoczi (2):
      aio-posix: do not nest poll handlers
      tested: add test for nested aio_poll() in poll handlers

Vladimir Sementsov-Ogievskiy (6):
      blockdev: refactor transaction to use Transaction API
      blockdev: transactions: rename some things
      blockdev: qmp_transaction: refactor loop to classic for
      blockdev: transaction: refactor handling transaction properties
      blockdev: use state.bitmap in block-dirty-bitmap-add action
      blockdev: qmp_transaction: drop extra generic layer

 docs/interop/qcow2.txt                             |  10 +-
 include/block/block-global-state.h                 |   8 +-
 include/block/block_int-common.h                   |   4 +-
 include/block/blockjob_int.h                       |  14 +-
 include/io/channel.h                               |  10 +
 block.c                                            |   1 -
 block/commit.c                                     |   7 +-
 block/create.c                                     |   1 -
 block/crypto.c                                     |  25 +-
 block/export/export.c                              |   6 +-
 block/graph-lock.c                                 |  31 +-
 block/mirror.c                                     |  23 +-
 block/parallels.c                                  |   6 +-
 block/qcow.c                                       |   6 +-
 block/qcow2.c                                      |  43 +-
 block/qed.c                                        |   6 +-
 block/raw-format.c                                 |   2 +-
 block/stream.c                                     |   7 +-
 block/vdi.c                                        |  11 +-
 block/vhdx.c                                       |   8 +-
 block/vmdk.c                                       |  27 +-
 block/vpc.c                                        |   6 +-
 blockdev.c                                         | 606 +++++++++------------
 blockjob.c                                         |  22 +-
 io/channel.c                                       |  33 +-
 nbd/server.c                                       |   3 +-
 qemu-img.c                                         |   5 +-
 tests/unit/test-bdrv-drain.c                       |   6 +-
 tests/unit/test-nested-aio-poll.c                  | 130 +++++
 util/aio-posix.c                                   |  11 +
 tests/qemu-iotests/iotests.py                      |   4 +
 tests/qemu-iotests/245                             |   7 +-
 tests/qemu-iotests/245.out                         |   9 +-
 tests/qemu-iotests/tests/graph-changes-while-io    |  56 +-
 .../qemu-iotests/tests/graph-changes-while-io.out  |   4 +-
 tests/unit/meson.build                             |   5 +-
 36 files changed, 661 insertions(+), 502 deletions(-)
 create mode 100644 tests/unit/test-nested-aio-poll.c
Re: [PULL v2 00/21] Block layer patches
Posted by Richard Henderson 11 months, 3 weeks ago
On 5/19/23 03:50, Kevin Wolf wrote:
> The following changes since commit 6972ef1440a9d685482d78672620a7482f2bd09a:
> 
>    Merge tag 'pull-tcg-20230516-3' of https://gitlab.com/rth7680/qemu into staging (2023-05-16 21:30:27 -0700)
> 
> are available in the Git repository at:
> 
>    https://repo.or.cz/qemu/kevin.git tags/for-upstream
> 
> for you to fetch changes up to c1bc2467c25ae2b846eeb5d338d1c697c6f83833:
> 
>    iotests: Test commit with iothreads and ongoing I/O (2023-05-19 11:32:19 +0200)
> 
> ----------------------------------------------------------------
> Block layer patches
> 
> - qcow2 spec: Rename "zlib" compression to "deflate"
> - Honour graph read lock even in the main thread + prerequisite fixes
> - aio-posix: do not nest poll handlers (fixes infinite recursion)
> - Refactor QMP blockdev transactions
> - graph-lock: Disable locking for now
> - iotests/245: Check if 'compress' driver is available

Build failure:

https://gitlab.com/qemu-project/qemu/-/jobs/4316574356#L3199


../block/graph-lock.c: In function ‘assert_bdrv_graph_readable’:
../block/graph-lock.c:278:37: error: implicit declaration of function ‘reader_count’ 
[-Werror=implicit-function-declaration]
   278 |     assert(qemu_in_main_thread() || reader_count());
       |                                     ^~~~~~~~~~~~
../block/graph-lock.c:278:37: error: nested extern declaration of ‘reader_count’ 
[-Werror=nested-externs]


r~