[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 4/5] qapi: blockdev-backup: add discard-source parameter
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v4 4/5] qapi: blockdev-backup: add discard-source parameter |
Date: |
Wed, 13 Mar 2024 17:08:48 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> writes:
> Add a parameter that enables discard-after-copy. That is mostly useful
> in "push backup with fleecing" scheme, when source is snapshot-access
> format driver node, based on copy-before-write filter snapshot-access
> API:
>
> [guest] [snapshot-access] ~~ blockdev-backup ~~> [backup target]
> | |
> | root | file
> v v
> [copy-before-write]
> | |
> | file | target
> v v
> [active disk] [temp.img]
>
> In this case discard-after-copy does two things:
>
> - discard data in temp.img to save disk space
> - avoid further copy-before-write operation in discarded area
>
> Note that we have to declare WRITE permission on source in
> copy-before-write filter, for discard to work. Still we can't take it
> unconditionally, as it will break normal backup from RO source. So, we
> have to add a parameter and pass it thorough bdrv_open flags.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
> Tested-by: Fiona Ebner <f.ebner@proxmox.com>
[...]
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 1874f880a8..2ef52ae9a7 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -1610,6 +1610,9 @@
> # node specified by @drive. If this option is not given, a node
> # name is autogenerated. (Since: 4.2)
> #
> +# @discard-source: Discard blocks on source which are already copied
"have been copied"?
> +# to the target. (Since 9.1)
> +#
> # @x-perf: Performance options. (Since 6.0)
> #
> # Features:
> @@ -1631,6 +1634,7 @@
> '*on-target-error': 'BlockdevOnError',
> '*auto-finalize': 'bool', '*auto-dismiss': 'bool',
> '*filter-node-name': 'str',
> + '*discard-source': 'bool',
> '*x-perf': { 'type': 'BackupPerf',
> 'features': [ 'unstable' ] } } }
QAPI schema
Acked-by: Markus Armbruster <armbru@redhat.com>
- [PATCH v4 0/5] backup: discard-source parameter, Vladimir Sementsov-Ogievskiy, 2024/03/13
- [PATCH v4 2/5] block/copy-before-write: support unligned snapshot-discard, Vladimir Sementsov-Ogievskiy, 2024/03/13
- [PATCH v4 3/5] block/copy-before-write: create block_copy bitmap in filter node, Vladimir Sementsov-Ogievskiy, 2024/03/13
- [PATCH v4 5/5] iotests: add backup-discard-source, Vladimir Sementsov-Ogievskiy, 2024/03/13
- [PATCH v4 1/5] block/copy-before-write: fix permission, Vladimir Sementsov-Ogievskiy, 2024/03/13
- [PATCH v4 4/5] qapi: blockdev-backup: add discard-source parameter, Vladimir Sementsov-Ogievskiy, 2024/03/13
- Re: [PATCH v4 4/5] qapi: blockdev-backup: add discard-source parameter,
Markus Armbruster <=