On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster <armbru@xxxxxxxxxx> 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.
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@xxxxxxxxxx>
---
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?