On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster
<armbru(a)redhat.com>
wrote:
> Several moons ago, Vladimir posted
>
> Subject: [PATCH v2 3/3] qapi: deprecate drive-backup
> Date: Wed, 5 May 2021 16:58:03 +0300
> Message-Id: <20210505135803.67896-4-vsementsov(a)virtuozzo.com>
>
https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg01394.html
>
> with this
>
> TODO: We also need to deprecate drive-backup transaction action..
> But union members in QAPI doesn't support 'deprecated' feature. I
tried
> to dig a bit, but failed :/ Markus, could you please help with it? At
> least by advice?
>
> This is one way to resolve it. Sorry it took so long.
>
>
I'll share the blame for not pushing back on the other series, but ...
> John explored another way, namely adding feature flags to union
> branches. Could also be useful, say to add different features to
> branches in multiple unions sharing the same tag enum.
>
>
... this way seems simpler for now, and I trust your intuition on what's
easier to support as I don't have a solid grasp of the C interfaces at play
for actually parsing the input. We can always revisit the other thing later
if/when we need it.
> Signed-off-by: Markus Armbruster <armbru(a)redhat.com>
> ---
> qapi/transaction.json | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/qapi/transaction.json b/qapi/transaction.json
> index d175b5f863..381a2df782 100644
> --- a/qapi/transaction.json
> +++ b/qapi/transaction.json
> @@ -54,6 +54,10 @@
> # @blockdev-snapshot-sync: since 1.1
> # @drive-backup: Since 1.6
> #
> +# Features:
> +# @deprecated: Member @drive-backup is deprecated. Use member
> +# @blockdev-backup instead.
> +#
> # Since: 1.1
> ##
> { 'enum': 'TransactionActionKind',
> @@ -62,7 +66,7 @@
> 'block-dirty-bitmap-disable',
'block-dirty-bitmap-merge',
> 'blockdev-backup', 'blockdev-snapshot',
> 'blockdev-snapshot-internal-sync',
'blockdev-snapshot-sync',
> - 'drive-backup' ] }
> + { 'name': 'drive-backup', 'features': [
'deprecated' ] } ] }
>
> ##
> # @AbortWrapper:
> --
> 2.31.1
>
>
Seems pretty clean to me overall. What's the reason for wanting it to be
RFC?