[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 5/5] block: Deprecate transaction type drive-backup
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v4 5/5] block: Deprecate transaction type drive-backup |
Date: |
Wed, 27 Oct 2021 07:22:59 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
John Snow <jsnow@redhat.com> writes:
> On Mon, Oct 25, 2021 at 12:24 AM Markus Armbruster <armbru@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@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@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.
- [PATCH v4 0/5] qapi: Add feature flags to enum members, Markus Armbruster, 2021/10/25
- [PATCH v4 3/5] qapi: Move compat policy from QObject to generic visitor, Markus Armbruster, 2021/10/25
- [PATCH v4 5/5] block: Deprecate transaction type drive-backup, Markus Armbruster, 2021/10/25
- [PATCH v4 4/5] qapi: Implement deprecated-input={reject, crash} for enum values, Markus Armbruster, 2021/10/25
- [PATCH v4 2/5] qapi: Add feature flags to enum members, Markus Armbruster, 2021/10/25
- [PATCH v4 1/5] qapi: Enable enum member introspection to show more than name, Markus Armbruster, 2021/10/25