John Snow <jsnow@xxxxxxxxxx> writes: > 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? I believe it depends on the remainder of Vladimir's series.