[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 00/33] block: publish backup-top filter
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v7 00/33] block: publish backup-top filter |
Date: |
Wed, 4 Aug 2021 12:37:40 +0300 |
Hi all!
v7: small change: keep fleecing detection logic. I'm now implementing a
more effective way to do fleecing, that doesn't rely on backing chain
and on serializing requests. So, for this alternative way we'll not need
BDRV_REQ_SERIALISING flag. Let's keep automatic addition of this flag
when backing-based fleecing detected.
So, 06 is changed and renamed, 07 rebased on it.
Patches without r-b: 6, 7, 8, 17, 18
Vladimir Sementsov-Ogievskiy (33):
block: introduce bdrv_replace_child_bs()
block: introduce blk_replace_bs
qdev-properties: PropertyInfo: add realized_set_allowed field
qdev: allow setting drive property for realized device
block: rename backup-top to copy-before-write
block-copy: move detecting fleecing scheme to block-copy
block/block-copy: introduce block_copy_set_copy_opts()
block/backup: set copy_range and compress after filter insertion
block/backup: move cluster size calculation to block-copy
block/copy-before-write: relax permission requirements when no parents
block/copy-before-write: drop extra bdrv_unref on failure path
block/copy-before-write: use file child instead of backing
block/copy-before-write: bdrv_cbw_append(): replace child at last
block/copy-before-write: introduce cbw_init()
block/copy-before-write: cbw_init(): rename variables
block/copy-before-write: cbw_init(): use file child after attaching
block/copy-before-write: bdrv_cbw_append(): drop unused compress arg
block/copy-before-write: cbw_init(): use options
block/copy-before-write: initialize block-copy bitmap
block/block-copy: make setting progress optional
block/copy-before-write: make public block driver
qapi: publish copy-before-write filter
python/qemu/machine.py: refactor _qemu_args()
python/qemu/machine: QEMUMachine: improve qmp() method
iotests.py: VM: add own __enter__ method
iotests/222: fix pylint and mypy complains
iotests/222: constantly use single quotes for strings
iotests: move 222 to tests/image-fleecing
iotests.py: hmp_qemu_io: support qdev
iotests/image-fleecing: proper source device
iotests/image-fleecing: rename tgt_node
iotests/image-fleecing: prepare for adding new test-case
iotests/image-fleecing: add test-case for copy-before-write filter
qapi/block-core.json | 25 +-
block/{backup-top.h => copy-before-write.h} | 25 +-
include/block/block-copy.h | 6 +-
include/block/block.h | 2 +
include/hw/qdev-properties.h | 1 +
include/sysemu/block-backend.h | 1 +
block.c | 31 +++
block/backup-top.c | 253 -------------------
block/backup.c | 116 ++-------
block/block-backend.c | 8 +
block/block-copy.c | 135 ++++++++---
block/copy-before-write.c | 256 ++++++++++++++++++++
hw/core/qdev-properties-system.c | 43 +++-
hw/core/qdev-properties.c | 6 +-
MAINTAINERS | 4 +-
block/meson.build | 2 +-
python/qemu/machine/machine.py | 30 ++-
tests/qemu-iotests/222 | 159 ------------
tests/qemu-iotests/222.out | 67 -----
tests/qemu-iotests/283 | 35 ++-
tests/qemu-iotests/283.out | 4 +-
tests/qemu-iotests/297 | 2 +-
tests/qemu-iotests/iotests.py | 9 +-
tests/qemu-iotests/tests/image-fleecing | 192 +++++++++++++++
tests/qemu-iotests/tests/image-fleecing.out | 139 +++++++++++
25 files changed, 882 insertions(+), 669 deletions(-)
rename block/{backup-top.h => copy-before-write.h} (56%)
delete mode 100644 block/backup-top.c
create mode 100644 block/copy-before-write.c
delete mode 100755 tests/qemu-iotests/222
delete mode 100644 tests/qemu-iotests/222.out
create mode 100755 tests/qemu-iotests/tests/image-fleecing
create mode 100644 tests/qemu-iotests/tests/image-fleecing.out
--
2.29.2
- [PATCH v7 00/33] block: publish backup-top filter,
Vladimir Sementsov-Ogievskiy <=
- [PATCH v7 01/33] block: introduce bdrv_replace_child_bs(), Vladimir Sementsov-Ogievskiy, 2021/08/04
- [PATCH v7 02/33] block: introduce blk_replace_bs, Vladimir Sementsov-Ogievskiy, 2021/08/04
- [PATCH v7 05/33] block: rename backup-top to copy-before-write, Vladimir Sementsov-Ogievskiy, 2021/08/04
- [PATCH v7 06/33] block-copy: move detecting fleecing scheme to block-copy, Vladimir Sementsov-Ogievskiy, 2021/08/04
- [PATCH v7 03/33] qdev-properties: PropertyInfo: add realized_set_allowed field, Vladimir Sementsov-Ogievskiy, 2021/08/04
- [PATCH v7 07/33] block/block-copy: introduce block_copy_set_copy_opts(), Vladimir Sementsov-Ogievskiy, 2021/08/04