[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/11] Make blockdev-mirror dest sparse in more cases
From: |
Eric Blake |
Subject: |
[PATCH v3 00/11] Make blockdev-mirror dest sparse in more cases |
Date: |
Thu, 24 Apr 2025 19:52:00 -0500 |
v2 was here:
https://lists.gnu.org/archive/html/qemu-devel/2025-04/msg02940.html
In v3:
- use flags instead of enum at start of series [Stefan]
- Don't throttle for skipped zeroes [Sunny]
- Try harder to punch holes for "detect-zeroes":"unmap"
- More cases in mirror-sparse iotest
- R-b added on patches that didn't drastically change
Andrey Drobyshev (1):
iotests/common.rc: add disk_usage function
Eric Blake (10):
block: Expand block status mode from bool to flags
file-posix, gluster: Handle zero block status hint better
block: Let bdrv_co_is_zero_fast consolidate adjacent extents
block: Add new bdrv_co_is_all_zeroes() function
iotests: Improve iotest 194 to mirror data
mirror: Minor refactoring
mirror: Skip pre-zeroing destination if it is already zero
mirror: Skip writing zeroes when target is already zero
tests: Add iotest mirror-sparse for recent patches
mirror: Allow QMP override to declare target already zero
qapi/block-core.json | 8 +-
block/coroutines.h | 4 +-
include/block/block-common.h | 11 +
include/block/block-io.h | 2 +
include/block/block_int-common.h | 27 +-
include/block/block_int-global-state.h | 3 +-
include/block/block_int-io.h | 4 +-
block/io.c | 126 +++++--
block/blkdebug.c | 6 +-
block/copy-before-write.c | 4 +-
block/file-posix.c | 5 +-
block/gluster.c | 4 +-
block/iscsi.c | 6 +-
block/mirror.c | 150 +++++++--
block/nbd.c | 4 +-
block/null.c | 6 +-
block/parallels.c | 6 +-
block/qcow.c | 2 +-
block/qcow2.c | 6 +-
block/qed.c | 6 +-
block/quorum.c | 4 +-
block/raw-format.c | 4 +-
block/rbd.c | 6 +-
block/snapshot-access.c | 4 +-
block/vdi.c | 4 +-
block/vmdk.c | 2 +-
block/vpc.c | 2 +-
block/vvfat.c | 6 +-
blockdev.c | 18 +-
tests/unit/test-block-iothread.c | 4 +-
tests/qemu-iotests/common.rc | 6 +
tests/qemu-iotests/194 | 1 +
tests/qemu-iotests/250 | 5 -
tests/qemu-iotests/tests/mirror-sparse | 128 ++++++++
tests/qemu-iotests/tests/mirror-sparse.out | 365 +++++++++++++++++++++
35 files changed, 815 insertions(+), 134 deletions(-)
create mode 100755 tests/qemu-iotests/tests/mirror-sparse
create mode 100644 tests/qemu-iotests/tests/mirror-sparse.out
--
2.49.0
- [PATCH v3 00/11] Make blockdev-mirror dest sparse in more cases,
Eric Blake <=
- [PATCH v3 02/11] file-posix, gluster: Handle zero block status hint better, Eric Blake, 2025/04/24
- [PATCH v3 04/11] block: Add new bdrv_co_is_all_zeroes() function, Eric Blake, 2025/04/24
- [PATCH v3 01/11] block: Expand block status mode from bool to flags, Eric Blake, 2025/04/24
- [PATCH v3 03/11] block: Let bdrv_co_is_zero_fast consolidate adjacent extents, Eric Blake, 2025/04/24
- [PATCH v3 05/11] iotests: Improve iotest 194 to mirror data, Eric Blake, 2025/04/24
- [PATCH v3 06/11] mirror: Minor refactoring, Eric Blake, 2025/04/24
- [PATCH v3 08/11] mirror: Skip writing zeroes when target is already zero, Eric Blake, 2025/04/24
- [PATCH v3 07/11] mirror: Skip pre-zeroing destination if it is already zero, Eric Blake, 2025/04/24