John Snow
2021-Oct-26 20:54 UTC
[Libguestfs] [PATCH v4 5/5] block: Deprecate transaction type drive-backup
On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster <armbru at 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-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. > >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 at 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? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://listman.redhat.com/archives/libguestfs/attachments/20211026/19ea64cd/attachment.htm>
Markus Armbruster
2021-Oct-27 05:22 UTC
[Libguestfs] [PATCH v4 5/5] block: Deprecate transaction type drive-backup
John Snow <jsnow at redhat.com> writes:> On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster <armbru at 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-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. >> >> > 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 at 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?I believe it depends on the remainder of Vladimir's series.
Vladimir Sementsov-Ogievskiy
2021-Nov-03 13:38 UTC
[Libguestfs] [PATCH v4 5/5] block: Deprecate transaction type drive-backup
27.10.2021 08:22, Markus Armbruster wrote:> John Snow <jsnow at redhat.com> writes: > >> On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster <armbru at 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-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. >>> >>> >> 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 at 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? > > I believe it depends on the remainder of Vladimir's series. >Sorry, I didn't help with reviewing as promised :\ So, seems the only missing bit is v3 of my original series deprecating backup? I've sent it just now: "[PATCH v3 0/3] qapi & doc: deprecate drive-backup". If it is OK and if it is convenient for you Markus, you can just take it into your series between 04 and 05 and pull through your tree. -- Best regards, Vladimir