All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 00/33] block: publish backup-top filter
@ 2021-08-04  9:37 Vladimir Sementsov-Ogievskiy
  2021-08-04  9:37 ` [PATCH v7 01/33] block: introduce bdrv_replace_child_bs() Vladimir Sementsov-Ogievskiy
                   ` (32 more replies)
  0 siblings, 33 replies; 47+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2021-08-04  9:37 UTC (permalink / raw)
  To: qemu-block
  Cc: qemu-devel, armbru, eblake, crosa, ehabkost, berrange, pbonzini,
	vsementsov, jsnow, mreitz, kwolf

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



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

end of thread, other threads:[~2021-08-23 17:43 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04  9:37 [PATCH v7 00/33] block: publish backup-top filter Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 01/33] block: introduce bdrv_replace_child_bs() Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 02/33] block: introduce blk_replace_bs Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 03/33] qdev-properties: PropertyInfo: add realized_set_allowed field Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 04/33] qdev: allow setting drive property for realized device Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 05/33] block: rename backup-top to copy-before-write Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 06/33] block-copy: move detecting fleecing scheme to block-copy Vladimir Sementsov-Ogievskiy
2021-08-10 14:44   ` Hanna Reitz
2021-08-04  9:37 ` [PATCH v7 07/33] block/block-copy: introduce block_copy_set_copy_opts() Vladimir Sementsov-Ogievskiy
2021-08-10 14:55   ` Hanna Reitz
2021-08-23 12:05     ` Vladimir Sementsov-Ogievskiy
2021-08-23 17:40       ` Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 08/33] block/backup: set copy_range and compress after filter insertion Vladimir Sementsov-Ogievskiy
2021-08-10 15:07   ` Hanna Reitz
2021-08-04  9:37 ` [PATCH v7 09/33] block/backup: move cluster size calculation to block-copy Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 10/33] block/copy-before-write: relax permission requirements when no parents Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 11/33] block/copy-before-write: drop extra bdrv_unref on failure path Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 12/33] block/copy-before-write: use file child instead of backing Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 13/33] block/copy-before-write: bdrv_cbw_append(): replace child at last Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 14/33] block/copy-before-write: introduce cbw_init() Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 15/33] block/copy-before-write: cbw_init(): rename variables Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 16/33] block/copy-before-write: cbw_init(): use file child after attaching Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 17/33] block/copy-before-write: bdrv_cbw_append(): drop unused compress arg Vladimir Sementsov-Ogievskiy
2021-08-10 15:17   ` Hanna Reitz
2021-08-23 16:33     ` Vladimir Sementsov-Ogievskiy
2021-08-04  9:37 ` [PATCH v7 18/33] block/copy-before-write: cbw_init(): use options Vladimir Sementsov-Ogievskiy
2021-08-10 15:18   ` Hanna Reitz
2021-08-04  9:37 ` [PATCH v7 19/33] block/copy-before-write: initialize block-copy bitmap Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 20/33] block/block-copy: make setting progress optional Vladimir Sementsov-Ogievskiy
2021-08-10 15:23   ` Hanna Reitz
2021-08-04  9:38 ` [PATCH v7 21/33] block/copy-before-write: make public block driver Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 22/33] qapi: publish copy-before-write filter Vladimir Sementsov-Ogievskiy
2021-08-04 13:18   ` Markus Armbruster
2021-08-04  9:38 ` [PATCH v7 23/33] python/qemu/machine.py: refactor _qemu_args() Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 24/33] python/qemu/machine: QEMUMachine: improve qmp() method Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 25/33] iotests.py: VM: add own __enter__ method Vladimir Sementsov-Ogievskiy
2021-08-04 16:27   ` John Snow
2021-08-23 17:22     ` Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 26/33] iotests/222: fix pylint and mypy complains Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 27/33] iotests/222: constantly use single quotes for strings Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 28/33] iotests: move 222 to tests/image-fleecing Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 29/33] iotests.py: hmp_qemu_io: support qdev Vladimir Sementsov-Ogievskiy
2021-08-04 16:17   ` John Snow
2021-08-04  9:38 ` [PATCH v7 30/33] iotests/image-fleecing: proper source device Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 31/33] iotests/image-fleecing: rename tgt_node Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 32/33] iotests/image-fleecing: prepare for adding new test-case Vladimir Sementsov-Ogievskiy
2021-08-04  9:38 ` [PATCH v7 33/33] iotests/image-fleecing: add test-case for copy-before-write filter Vladimir Sementsov-Ogievskiy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.