On Sat, Oct 09, 2021 at 02:09:44PM +0200, Markus Armbruster 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@xxxxxxxxxxxxx> > 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. > > 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. > > Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> > --- > qapi/transaction.json | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/qapi/transaction.json b/qapi/transaction.json > index d175b5f863..0564a893b3 100644 > --- a/qapi/transaction.json > +++ b/qapi/transaction.json > @@ -54,6 +54,9 @@ > # @blockdev-snapshot-sync: since 1.1 > # @drive-backup: Since 1.6 > # > +# Features: > +# @deprecated: Member @drive-backup is deprecated. Use FIXME instead. Obviously, we'd need to flesh this out ("'blockdev-backup' with proper node names"? something else?) before dropping RFC on this patch. And we'd want to edit docs/about/deprecated.rst to match. > +# > # Since: 1.1 > ## > { 'enum': 'TransactionActionKind', > @@ -62,7 +65,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 > But the idea is reasonable, and I'm not sure if we're any closer to John's idea of feature flags on union branches. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org