[Devel] [PATCH VZ10 00/10] dm-qcow2: improve discard and read-only merge handling
Andrey Zhadchenko
andrey.zhadchenko at virtuozzo.com
Wed Aug 12 21:56:28 MSK 2026
This series makes discard update qcow2 metadata and permits backward
merge from read-only source images.
First patch improves revert_cluster_alloc: this function didn't expect
L2 entries to contain subcluster descriptions (when ext2_l2 is set).
The second patch renames COW machinery to a more general 'replace entry'.
Next five patches improve discard support in general: now it clears
metadata and have a subcluster granularity.
The next two patches support backward merge when the image we merge
from is read-only. Such merges now leave the source mappings and
metadata unchanged. Previously the module ignored file mode and
submitted writes anyway.
Last patch makes merge respect all metadata-zeroed blocks. For now it is
writing zeroes as data, but we will improve this to metadata when we
support REQ_OP_WRITE_ZEROES.
Andrey Zhadchenko (10):
drivers/md/dm-qcow2: fix revert_cluster_alloc() for ext_l2 case
drivers/md/dm-qcow2: generalize COW index update machinery
drivers/md/dm-qcow2: update metadata on whole cluster discard
drivers/md/dm-qcow2: never trigger COW or allocation on discard
drivers/md/dm-qcow2: set L2_READS_ALL_ZEROES after some discards
drivers/md/dm-qcow2: update metadata on subclusters discard
drivers/md/dm-qcow2: unmap cluster when discard clears last allocated
subclusters
drivers/md/dm-qcow2: do discards during backward merge only for
writable image
drivers/md/dm-qcow2: allow shared L1 entries during merge from RO
image
drivers/md/dm-qcow2: respect zeroes during merge
drivers/md/dm-qcow2-cmd.c | 21 +-
drivers/md/dm-qcow2-map.c | 381 +++++++++++++++++++++++++++--------
drivers/md/dm-qcow2-target.c | 2 +-
drivers/md/dm-qcow2.h | 19 +-
4 files changed, 328 insertions(+), 95 deletions(-)
--
2.43.5
More information about the Devel
mailing list