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