<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster <<a href="mailto:armbru@redhat.com">armbru@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Several moons ago, Vladimir posted<br>
<br>
    Subject: [PATCH v2 3/3] qapi: deprecate drive-backup<br>
    Date: Wed,  5 May 2021 16:58:03 +0300<br>
    Message-Id: <<a href="mailto:20210505135803.67896-4-vsementsov@virtuozzo.com" target="_blank">20210505135803.67896-4-vsementsov@virtuozzo.com</a>><br>
    <a href="https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg01394.html" rel="noreferrer" target="_blank">https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg01394.html</a><br>
<br>
with this<br>
<br>
    TODO: We also need to deprecate drive-backup transaction action..<br>
    But union members in QAPI doesn't support 'deprecated' feature. I tried<br>
    to dig a bit, but failed :/ Markus, could you please help with it? At<br>
    least by advice?<br>
<br>
This is one way to resolve it.  Sorry it took so long.<br>
<br></blockquote><div><br></div><div>I'll share the blame for not pushing back on the other series, but ...<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
John explored another way, namely adding feature flags to union<br>
branches.  Could also be useful, say to add different features to<br>
branches in multiple unions sharing the same tag enum.<br>
<br></blockquote><div><br></div><div>... 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.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Signed-off-by: Markus Armbruster <<a href="mailto:armbru@redhat.com" target="_blank">armbru@redhat.com</a>><br>
---<br>
 qapi/transaction.json | 6 +++++-<br>
 1 file changed, 5 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/qapi/transaction.json b/qapi/transaction.json<br>
index d175b5f863..381a2df782 100644<br>
--- a/qapi/transaction.json<br>
+++ b/qapi/transaction.json<br>
@@ -54,6 +54,10 @@<br>
 # @blockdev-snapshot-sync: since 1.1<br>
 # @drive-backup: Since 1.6<br>
 #<br>
+# Features:<br>
+# @deprecated: Member @drive-backup is deprecated.  Use member<br>
+#              @blockdev-backup instead.<br>
+#<br>
 # Since: 1.1<br>
 ##<br>
 { 'enum': 'TransactionActionKind',<br>
@@ -62,7 +66,7 @@<br>
             'block-dirty-bitmap-disable', 'block-dirty-bitmap-merge',<br>
             'blockdev-backup', 'blockdev-snapshot',<br>
             'blockdev-snapshot-internal-sync', 'blockdev-snapshot-sync',<br>
-            'drive-backup' ] }<br>
+            { 'name': 'drive-backup', 'features': [ 'deprecated' ] } ] }<br>
<br>
 ##<br>
 # @AbortWrapper:<br>
-- <br>
2.31.1<br>
<br></blockquote><div><br></div><div>Seems pretty clean to me overall. What's the reason for wanting it to be RFC?<br></div></div></div>