Markus Armbruster
2021-Oct-09 12:09 UTC
[Libguestfs] [PATCH RFC v2 5/5] block: Deprecate transaction type drive-backup
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 at 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. 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 at redhat.com> --- 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. +# # 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
Eric Blake
2021-Oct-11 18:58 UTC
[Libguestfs] [PATCH RFC v2 5/5] block: Deprecate transaction type drive-backup
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 at 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. > > 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 at redhat.com> > --- > 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