Fiona Ebner <f.eb...@proxmox.com> writes: > In the context of backup fleecing, discarding the source will not work > when the fleecing image has a larger granularity than the one used for > block-copy operations (can happen if the backup target has smaller > cluster size), because cbw_co_pdiscard_snapshot() will align down the > discard requests and thus effectively ignore then. > > To make @discard-source work in such a scenario, allow specifying the > minimum cluster size used for block-copy operations and thus in > particular also the granularity for discard requests to the source. > > Suggested-by: Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru> > Signed-off-by: Fiona Ebner <f.eb...@proxmox.com>
[...] > diff --git a/qapi/block-core.json b/qapi/block-core.json > index 8fc0a4b234..f1219a9dfb 100644 > --- a/qapi/block-core.json > +++ b/qapi/block-core.json > @@ -1551,11 +1551,16 @@ > # it should not be less than job cluster size which is calculated > # as maximum of target image cluster size and 64k. Default 0. > # > +# @min-cluster-size: Minimum size of blocks used by copy-before-write > +# and background copy operations. Has to be a power of 2. No > +# effect if smaller than the maximum of the target's cluster size > +# and 64 KiB. Default 0. (Since 9.1) > +# > # Since: 6.0 > ## > { 'struct': 'BackupPerf', > - 'data': { '*use-copy-range': 'bool', > - '*max-workers': 'int', '*max-chunk': 'int64' } } > + 'data': { '*use-copy-range': 'bool', '*max-workers': 'int', > + '*max-chunk': 'int64', '*min-cluster-size': 'size' } } > > ## > # @BackupCommon: QAPI schema Acked-by: Markus Armbruster <arm...@redhat.com>