[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 00/27] Block layer patches
From: |
Kevin Wolf |
Subject: |
[PULL 00/27] Block layer patches |
Date: |
Tue, 31 Oct 2023 19:58:51 +0100 |
The following changes since commit 516fffc9933cb21fad41ca8f7bf465d238d4d375:
Merge tag 'pull-lu-20231030' of https://gitlab.com/rth7680/qemu into staging
(2023-10-31 07:12:40 +0900)
are available in the Git repository at:
https://repo.or.cz/qemu/kevin.git tags/for-upstream
for you to fetch changes up to 900e7d413d630ebd3f5d64bae0e6249621ec0c7f:
iotests: add test for changing mirror's copy_mode (2023-10-31 19:46:51 +0100)
----------------------------------------------------------------
Block layer patches
- virtio-blk: use blk_io_plug_call() instead of notification BH
- mirror: allow switching from background to active mode
- qemu-img rebase: add compression support
- Fix locking in media change monitor commands
- Fix a few blockjob-related deadlocks when using iothread
----------------------------------------------------------------
Andrey Drobyshev (8):
qemu-img: rebase: stop when reaching EOF of old backing file
qemu-iotests: 024: add rebasing test case for overlay_size > backing_size
qemu-img: rebase: use backing files' BlockBackend for buffer alignment
qemu-img: add chunk size parameter to compare_buffers()
qemu-img: rebase: avoid unnecessary COW operations
iotests/{024, 271}: add testcases for qemu-img rebase
qemu-img: add compression option to rebase subcommand
iotests: add tests for "qemu-img rebase" with compression
Fiona Ebner (13):
blockjob: drop AioContext lock before calling bdrv_graph_wrlock()
block: avoid potential deadlock during bdrv_graph_wrlock() in bdrv_close()
blockdev: mirror: avoid potential deadlock when using iothread
blockjob: introduce block-job-change QMP command
block/mirror: set actively_synced even after the job is ready
block/mirror: move dirty bitmap to filter
block/mirror: determine copy_to_target only once
mirror: implement mirror_change method
qapi/block-core: use JobType for BlockJobInfo's type
qapi/block-core: turn BlockJobInfo into a union
blockjob: query driver-specific info via a new 'query' driver method
mirror: return mirror-specific information upon query
iotests: add test for changing mirror's copy_mode
Kevin Wolf (2):
block: Fix locking in media change monitor commands
iotests: Test media change with iothreads
Stefan Hajnoczi (4):
block: rename blk_io_plug_call() API to defer_call()
util/defer-call: move defer_call() to util/
virtio: use defer_call() in virtio_irqfd_notify()
virtio-blk: remove batch notification BH
qapi/block-core.json | 59 ++++++-
qapi/job.json | 4 +-
docs/tools/qemu-img.rst | 6 +-
include/block/blockjob.h | 11 ++
include/block/blockjob_int.h | 12 ++
include/qemu/defer-call.h | 16 ++
include/sysemu/block-backend-io.h | 4 -
block.c | 2 +-
block/blkio.c | 9 +-
block/io_uring.c | 11 +-
block/linux-aio.c | 9 +-
block/mirror.c | 131 ++++++++++----
block/monitor/block-hmp-cmds.c | 4 +-
block/nvme.c | 5 +-
block/plug.c | 159 -----------------
block/qapi-sysemu.c | 5 +
blockdev.c | 28 ++-
blockjob.c | 30 +++-
hw/block/dataplane/virtio-blk.c | 48 +----
hw/block/dataplane/xen-block.c | 11 +-
hw/block/virtio-blk.c | 5 +-
hw/scsi/virtio-scsi.c | 7 +-
hw/virtio/virtio.c | 13 +-
job.c | 1 +
qemu-img.c | 136 +++++++++++----
util/defer-call.c | 156 +++++++++++++++++
util/thread-pool.c | 5 +
MAINTAINERS | 3 +-
block/meson.build | 1 -
hw/virtio/trace-events | 1 +
qemu-img-cmds.hx | 4 +-
tests/qemu-iotests/024 | 117 +++++++++++++
tests/qemu-iotests/024.out | 73 ++++++++
tests/qemu-iotests/109.out | 24 +--
tests/qemu-iotests/118 | 6 +-
tests/qemu-iotests/271 | 131 ++++++++++++++
tests/qemu-iotests/271.out | 82 +++++++++
tests/qemu-iotests/314 | 165 ++++++++++++++++++
tests/qemu-iotests/314.out | 75 ++++++++
tests/qemu-iotests/tests/mirror-change-copy-mode | 193 +++++++++++++++++++++
.../qemu-iotests/tests/mirror-change-copy-mode.out | 5 +
util/meson.build | 1 +
42 files changed, 1437 insertions(+), 331 deletions(-)
create mode 100644 include/qemu/defer-call.h
delete mode 100644 block/plug.c
create mode 100644 util/defer-call.c
create mode 100755 tests/qemu-iotests/314
create mode 100644 tests/qemu-iotests/314.out
create mode 100755 tests/qemu-iotests/tests/mirror-change-copy-mode
create mode 100644 tests/qemu-iotests/tests/mirror-change-copy-mode.out
- [PULL 00/27] Block layer patches,
Kevin Wolf <=
- [PULL 01/27] qemu-img: rebase: stop when reaching EOF of old backing file, Kevin Wolf, 2023/10/31
- [PULL 02/27] qemu-iotests: 024: add rebasing test case for overlay_size > backing_size, Kevin Wolf, 2023/10/31
- [PULL 03/27] qemu-img: rebase: use backing files' BlockBackend for buffer alignment, Kevin Wolf, 2023/10/31
- [PULL 04/27] qemu-img: add chunk size parameter to compare_buffers(), Kevin Wolf, 2023/10/31
- [PULL 07/27] qemu-img: add compression option to rebase subcommand, Kevin Wolf, 2023/10/31
- [PULL 05/27] qemu-img: rebase: avoid unnecessary COW operations, Kevin Wolf, 2023/10/31
- [PULL 06/27] iotests/{024, 271}: add testcases for qemu-img rebase, Kevin Wolf, 2023/10/31
- [PULL 16/27] virtio: use defer_call() in virtio_irqfd_notify(), Kevin Wolf, 2023/10/31
- [PULL 15/27] util/defer-call: move defer_call() to util/, Kevin Wolf, 2023/10/31
- [PULL 21/27] block/mirror: determine copy_to_target only once, Kevin Wolf, 2023/10/31