qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/25] Block layer patches
@ 2025-02-10 16:10 Kevin Wolf
  2025-02-10 16:10 ` [PULL 01/25] vpc: Split off vpc_ignore_current_size() helper Kevin Wolf
                   ` (25 more replies)
  0 siblings, 26 replies; 31+ messages in thread
From: Kevin Wolf @ 2025-02-10 16:10 UTC (permalink / raw)
  To: qemu-block; +Cc: kwolf, qemu-devel

The following changes since commit d922088eb4ba6bc31a99f17b32cf75e59dd306cd:

  Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2025-02-03 13:42:02 -0500)

are available in the Git repository at:

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

for you to fetch changes up to fc4e394b2887e15d5f83994e4fc7b26c895c627a:

  block: remove unused BLOCK_OP_TYPE_DATAPLANE (2025-02-06 14:51:10 +0100)

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

- Managing inactive nodes (enables QSD migration with shared storage)
- Fix swapped values for BLOCK_IO_ERROR 'device' and 'qom-path'
- vpc: Read images exported from Azure correctly
- scripts/qemu-gdb: Support coroutine dumps in coredumps
- Minor cleanups

----------------------------------------------------------------
Fabiano Rosas (1):
      block: Fix leak in send_qmp_error_event

Kevin Wolf (16):
      block: Add 'active' field to BlockDeviceInfo
      block: Allow inactivating already inactive nodes
      block: Inactivate external snapshot overlays when necessary
      migration/block-active: Remove global active flag
      block: Don't attach inactive child to active node
      block: Fix crash on block_resize on inactive node
      block: Add option to create inactive nodes
      block: Add blockdev-set-active QMP command
      block: Support inactive nodes in blk_insert_bs()
      block/export: Don't ignore image activation error in blk_exp_add()
      block: Drain nodes before inactivating them
      block/export: Add option to allow export of inactive nodes
      nbd/server: Support inactive nodes
      iotests: Add filter_qtest()
      iotests: Add qsd-migrate case
      iotests: Add (NBD-based) tests for inactive nodes

Peter Krempa (1):
      block-backend: Fix argument order when calling 'qapi_event_send_block_io_error()'

Peter Xu (3):
      scripts/qemu-gdb: Always do full stack dump for python errors
      scripts/qemu-gdb: Simplify fs_base fetching for coroutines
      scripts/qemu-gdb: Support coroutine dumps in coredumps

Philippe Mathieu-Daudé (1):
      block: Improve blk_get_attached_dev_id() docstring

Stefan Hajnoczi (1):
      block: remove unused BLOCK_OP_TYPE_DATAPLANE

Vitaly Kuznetsov (2):
      vpc: Split off vpc_ignore_current_size() helper
      vpc: Read images exported from Azure correctly

 qapi/block-core.json                           |  44 +++-
 qapi/block-export.json                         |  10 +-
 include/block/block-common.h                   |   2 +-
 include/block/block-global-state.h             |   6 +
 include/block/export.h                         |   3 +
 include/system/block-backend-io.h              |   7 +
 migration/migration.h                          |   3 -
 block.c                                        |  64 +++++-
 block/block-backend.c                          |  32 ++-
 block/export/export.c                          |  29 ++-
 block/monitor/block-hmp-cmds.c                 |   5 +-
 block/qapi.c                                   |   1 +
 block/replication.c                            |   1 -
 block/vpc.c                                    |  65 +++---
 blockdev.c                                     |  48 ++++
 blockjob.c                                     |   2 -
 hw/block/virtio-blk.c                          |   9 -
 hw/scsi/virtio-scsi.c                          |   3 -
 migration/block-active.c                       |  46 ----
 migration/migration.c                          |   8 -
 nbd/server.c                                   |  17 ++
 scripts/qemu-gdb.py                            |   2 +
 scripts/qemugdb/coroutine.py                   | 102 ++++++---
 tests/qemu-iotests/iotests.py                  |   8 +
 tests/qemu-iotests/041                         |   4 +-
 tests/qemu-iotests/165                         |   4 +-
 tests/qemu-iotests/184.out                     |   2 +
 tests/qemu-iotests/191.out                     |  16 ++
 tests/qemu-iotests/273.out                     |   5 +
 tests/qemu-iotests/tests/copy-before-write     |   3 +-
 tests/qemu-iotests/tests/inactive-node-nbd     | 303 +++++++++++++++++++++++++
 tests/qemu-iotests/tests/inactive-node-nbd.out | 239 +++++++++++++++++++
 tests/qemu-iotests/tests/migrate-bitmaps-test  |   7 +-
 tests/qemu-iotests/tests/qsd-migrate           | 140 ++++++++++++
 tests/qemu-iotests/tests/qsd-migrate.out       |  59 +++++
 35 files changed, 1133 insertions(+), 166 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/inactive-node-nbd
 create mode 100644 tests/qemu-iotests/tests/inactive-node-nbd.out
 create mode 100755 tests/qemu-iotests/tests/qsd-migrate
 create mode 100644 tests/qemu-iotests/tests/qsd-migrate.out



^ permalink raw reply	[flat|nested] 31+ messages in thread
* [PULL 00/25] Block layer patches
@ 2023-11-07 18:45 Kevin Wolf
  2023-11-08  1:44 ` Stefan Hajnoczi
  0 siblings, 1 reply; 31+ messages in thread
From: Kevin Wolf @ 2023-11-07 18:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf

The following changes since commit 462ad017ed76889d46696a3581e1b52343f9b683:

  Merge tag 'pixman-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2023-11-07 19:00:03 +0800)

are available in the Git repository at:

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

for you to fetch changes up to 5d4a5080e43681b753f922c5c2a7682bc1d67497:

  hw/ide/ahci: trigger either error IRQ or regular IRQ, not both (2023-11-07 19:14:20 +0100)

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

- Graph locking part 6 (bs->file/backing)
- ahci: trigger either error IRQ or regular IRQ, not both

----------------------------------------------------------------
Kevin Wolf (24):
      block: Mark bdrv_probe_blocksizes() and callers GRAPH_RDLOCK
      block: Mark bdrv_has_zero_init() and callers GRAPH_RDLOCK
      block: Mark bdrv_filter_bs() and callers GRAPH_RDLOCK
      block: Mark bdrv_root_attach_child() GRAPH_WRLOCK
      block: Mark block_job_add_bdrv() GRAPH_WRLOCK
      block: Mark bdrv_filter_or_cow_bs() and callers GRAPH_RDLOCK
      block: Mark bdrv_skip_implicit_filters() and callers GRAPH_RDLOCK
      block: Mark bdrv_skip_filters() and callers GRAPH_RDLOCK
      block: Mark bdrv_(un)freeze_backing_chain() and callers GRAPH_RDLOCK
      block: Mark bdrv_chain_contains() and callers GRAPH_RDLOCK
      block: Mark bdrv_filter_child() and callers GRAPH_RDLOCK
      block: Mark bdrv_cow_child() and callers GRAPH_RDLOCK
      block: Mark bdrv_set_backing_hd_drained() GRAPH_WRLOCK
      block: Inline bdrv_set_backing_noperm()
      block: Mark bdrv_replace_node_common() GRAPH_WRLOCK
      block: Mark bdrv_replace_node() GRAPH_WRLOCK
      block: Protect bs->backing with graph_lock
      blkverify: Add locking for request_fn
      block: Introduce bdrv_co_change_backing_file()
      block: Add missing GRAPH_RDLOCK annotations
      qcow2: Take locks for accessing bs->file
      vhdx: Take locks for accessing bs->file
      block: Take graph lock for most of .bdrv_open
      block: Protect bs->file with graph_lock

Niklas Cassel (1):
      hw/ide/ahci: trigger either error IRQ or regular IRQ, not both

 block/copy-on-read.h                   |   3 +-
 block/parallels.h                      |   5 +-
 block/qcow2.h                          |  59 +++++-----
 block/qed.h                            |   2 +-
 block/vhdx.h                           |   9 +-
 include/block/block-global-state.h     |  43 ++++----
 include/block/block-io.h               |  10 +-
 include/block/block_int-common.h       |  31 +++---
 include/block/block_int-global-state.h |  16 +--
 include/block/block_int-io.h           |  19 ++--
 include/block/blockjob.h               |   5 +-
 include/block/blockjob_int.h           |   9 +-
 block.c                                | 192 +++++++++++++++++++--------------
 block/backup.c                         |  21 ++--
 block/blkdebug.c                       |  29 ++---
 block/blkreplay.c                      |   8 +-
 block/blkverify.c                      |  18 ++--
 block/block-backend.c                  |   5 +
 block/block-copy.c                     |  11 +-
 block/bochs.c                          |   4 +
 block/cloop.c                          |   4 +
 block/commit.c                         |  32 +++++-
 block/copy-before-write.c              |   6 +-
 block/copy-on-read.c                   |  19 +++-
 block/crypto.c                         |  10 ++
 block/dmg.c                            |  21 ++--
 block/filter-compress.c                |   5 +-
 block/io.c                             |   2 +
 block/mirror.c                         |  85 ++++++++++-----
 block/monitor/block-hmp-cmds.c         |   3 +
 block/parallels-ext.c                  |  21 ++--
 block/parallels.c                      |  22 ++--
 block/preallocate.c                    |  27 +++--
 block/qcow.c                           |  13 ++-
 block/qcow2-bitmap.c                   |  14 +--
 block/qcow2-cluster.c                  |  25 ++---
 block/qcow2.c                          | 148 +++++++++++++------------
 block/qed.c                            |  88 ++++++++-------
 block/raw-format.c                     |  36 ++++---
 block/replication.c                    |  12 ++-
 block/snapshot-access.c                |   5 +-
 block/stream.c                         |  48 ++++++---
 block/throttle.c                       |   3 +
 block/vdi.c                            |  15 ++-
 block/vhdx-log.c                       |  40 +++----
 block/vhdx.c                           |  37 ++++---
 block/vmdk.c                           |  23 ++--
 block/vpc.c                            |   6 +-
 blockdev.c                             |  72 ++++++++-----
 blockjob.c                             |   6 +-
 hw/ide/ahci.c                          |   5 +-
 migration/block-dirty-bitmap.c         |   4 +
 nbd/server.c                           |   6 ++
 qemu-img.c                             |  31 ++++--
 tests/unit/test-bdrv-drain.c           |  39 +++++--
 tests/unit/test-bdrv-graph-mod.c       |  18 +++-
 56 files changed, 923 insertions(+), 527 deletions(-)



^ permalink raw reply	[flat|nested] 31+ messages in thread
* [PULL 00/25] Block layer patches
@ 2023-04-25 13:13 Kevin Wolf
  2023-04-26 11:07 ` Richard Henderson
  0 siblings, 1 reply; 31+ messages in thread
From: Kevin Wolf @ 2023-04-25 13:13 UTC (permalink / raw)
  To: qemu-block; +Cc: kwolf, richard.henderson, qemu-devel

The following changes since commit ac5f7bf8e208cd7893dbb1a9520559e569a4677c:

  Merge tag 'migration-20230424-pull-request' of https://gitlab.com/juan.quintela/qemu into staging (2023-04-24 15:00:39 +0100)

are available in the Git repository at:

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

for you to fetch changes up to 8c1e8fb2e7fc2cbeb57703e143965a4cd3ad301a:

  block/monitor: Fix crash when executing HMP commit (2023-04-25 15:11:57 +0200)

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

- Protect BlockBackend.queued_requests with its own lock
- Switch to AIO_WAIT_WHILE_UNLOCKED() where possible
- AioContext removal: LinuxAioState/LuringState/ThreadPool
- Add more coroutine_fn annotations, use bdrv/blk_co_*
- Fix crash when execute hmp_commit

----------------------------------------------------------------
Emanuele Giuseppe Esposito (4):
      linux-aio: use LinuxAioState from the running thread
      io_uring: use LuringState from the running thread
      thread-pool: use ThreadPool from the running thread
      thread-pool: avoid passing the pool parameter every time

Paolo Bonzini (9):
      vvfat: mark various functions as coroutine_fn
      blkdebug: add missing coroutine_fn annotation
      mirror: make mirror_flush a coroutine_fn, do not use co_wrappers
      nbd: mark more coroutine_fns, do not use co_wrappers
      9pfs: mark more coroutine_fns
      qemu-pr-helper: mark more coroutine_fns
      tests: mark more coroutine_fns
      qcow2: mark various functions as coroutine_fn and GRAPH_RDLOCK
      vmdk: make vmdk_is_cid_valid a coroutine_fn

Stefan Hajnoczi (10):
      block: make BlockBackend->quiesce_counter atomic
      block: make BlockBackend->disable_request_queuing atomic
      block: protect BlockBackend->queued_requests with a lock
      block: don't acquire AioContext lock in bdrv_drain_all()
      block: convert blk_exp_close_all_type() to AIO_WAIT_WHILE_UNLOCKED()
      block: convert bdrv_graph_wrlock() to AIO_WAIT_WHILE_UNLOCKED()
      block: convert bdrv_drain_all_begin() to AIO_WAIT_WHILE_UNLOCKED()
      hmp: convert handle_hmp_command() to AIO_WAIT_WHILE_UNLOCKED()
      monitor: convert monitor_cleanup() to AIO_WAIT_WHILE_UNLOCKED()
      block: add missing coroutine_fn to bdrv_sum_allocated_file_size()

Wang Liang (1):
      block/monitor: Fix crash when executing HMP commit

Wilfred Mallawa (1):
      include/block: fixup typos

 block/qcow2.h                     | 15 +++++-----
 hw/9pfs/9p.h                      |  4 +--
 include/block/aio-wait.h          |  2 +-
 include/block/aio.h               |  8 ------
 include/block/block_int-common.h  |  2 +-
 include/block/raw-aio.h           | 33 +++++++++++++++-------
 include/block/thread-pool.h       | 15 ++++++----
 include/sysemu/block-backend-io.h |  5 ++++
 backends/tpm/tpm_backend.c        |  4 +--
 block.c                           |  2 +-
 block/blkdebug.c                  |  4 +--
 block/block-backend.c             | 45 ++++++++++++++++++------------
 block/export/export.c             |  2 +-
 block/file-posix.c                | 45 ++++++++++++------------------
 block/file-win32.c                |  4 +--
 block/graph-lock.c                |  2 +-
 block/io.c                        |  2 +-
 block/io_uring.c                  | 23 ++++++++++------
 block/linux-aio.c                 | 29 ++++++++++++--------
 block/mirror.c                    |  4 +--
 block/monitor/block-hmp-cmds.c    | 10 ++++---
 block/qcow2-bitmap.c              |  2 +-
 block/qcow2-cluster.c             | 21 ++++++++------
 block/qcow2-refcount.c            |  8 +++---
 block/qcow2-snapshot.c            | 25 +++++++++--------
 block/qcow2-threads.c             |  3 +-
 block/qcow2.c                     | 27 +++++++++---------
 block/vmdk.c                      |  2 +-
 block/vvfat.c                     | 58 ++++++++++++++++++++-------------------
 hw/9pfs/codir.c                   |  6 ++--
 hw/9pfs/coth.c                    |  3 +-
 hw/ppc/spapr_nvdimm.c             |  6 ++--
 hw/virtio/virtio-pmem.c           |  3 +-
 monitor/hmp.c                     |  2 +-
 monitor/monitor.c                 |  4 +--
 nbd/server.c                      | 48 ++++++++++++++++----------------
 scsi/pr-manager.c                 |  3 +-
 scsi/qemu-pr-helper.c             | 25 ++++++++---------
 tests/unit/test-thread-pool.c     | 14 ++++------
 util/thread-pool.c                | 25 ++++++++---------
 40 files changed, 283 insertions(+), 262 deletions(-)



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2025-02-11  2:38 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-10 16:10 [PULL 00/25] Block layer patches Kevin Wolf
2025-02-10 16:10 ` [PULL 01/25] vpc: Split off vpc_ignore_current_size() helper Kevin Wolf
2025-02-10 16:10 ` [PULL 02/25] vpc: Read images exported from Azure correctly Kevin Wolf
2025-02-10 16:10 ` [PULL 03/25] block: Improve blk_get_attached_dev_id() docstring Kevin Wolf
2025-02-10 16:10 ` [PULL 04/25] block: Fix leak in send_qmp_error_event Kevin Wolf
2025-02-10 16:10 ` [PULL 05/25] scripts/qemu-gdb: Always do full stack dump for python errors Kevin Wolf
2025-02-10 16:10 ` [PULL 06/25] scripts/qemu-gdb: Simplify fs_base fetching for coroutines Kevin Wolf
2025-02-10 16:10 ` [PULL 07/25] scripts/qemu-gdb: Support coroutine dumps in coredumps Kevin Wolf
2025-02-10 16:10 ` [PULL 08/25] block-backend: Fix argument order when calling 'qapi_event_send_block_io_error()' Kevin Wolf
2025-02-10 16:10 ` [PULL 09/25] block: Add 'active' field to BlockDeviceInfo Kevin Wolf
2025-02-10 16:10 ` [PULL 10/25] block: Allow inactivating already inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 11/25] block: Inactivate external snapshot overlays when necessary Kevin Wolf
2025-02-10 16:10 ` [PULL 12/25] migration/block-active: Remove global active flag Kevin Wolf
2025-02-10 16:10 ` [PULL 13/25] block: Don't attach inactive child to active node Kevin Wolf
2025-02-10 16:10 ` [PULL 14/25] block: Fix crash on block_resize on inactive node Kevin Wolf
2025-02-10 16:10 ` [PULL 15/25] block: Add option to create inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 16/25] block: Add blockdev-set-active QMP command Kevin Wolf
2025-02-10 16:10 ` [PULL 17/25] block: Support inactive nodes in blk_insert_bs() Kevin Wolf
2025-02-10 16:10 ` [PULL 18/25] block/export: Don't ignore image activation error in blk_exp_add() Kevin Wolf
2025-02-10 16:10 ` [PULL 19/25] block: Drain nodes before inactivating them Kevin Wolf
2025-02-10 16:10 ` [PULL 20/25] block/export: Add option to allow export of inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 21/25] nbd/server: Support " Kevin Wolf
2025-02-10 16:10 ` [PULL 22/25] iotests: Add filter_qtest() Kevin Wolf
2025-02-10 16:10 ` [PULL 23/25] iotests: Add qsd-migrate case Kevin Wolf
2025-02-10 16:10 ` [PULL 24/25] iotests: Add (NBD-based) tests for inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 25/25] block: remove unused BLOCK_OP_TYPE_DATAPLANE Kevin Wolf
2025-02-11  2:37 ` [PULL 00/25] Block layer patches Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2023-11-07 18:45 Kevin Wolf
2023-11-08  1:44 ` Stefan Hajnoczi
2023-04-25 13:13 Kevin Wolf
2023-04-26 11:07 ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).