[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfa
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces |
Date: |
Wed, 04 Mar 2020 10:27:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Peter Maydell <address@hidden> writes:
> On Wed, 4 Mar 2020 at 08:18, Markus Armbruster <address@hidden> wrote:
>> Peter Maydell <address@hidden> writes:
>> > How much do you think this is likely to affect the
>> > generate-rst-from-qapi-docs series? I'd really like
>> > that to go in for this release, but this looks like
>> > it's shaping up to be a big conflict :-(
>>
>> I paused reviewing your series to post this one, because "I'd really
>> like that to go in for this release" :)
>>
>> My series touches 21 existing commented definitions in qapi/, six more
>> in tests/qapi-schema/doc-good.json, and adds new module
>> qapi/compat.json. Consolidated diff appended.
>>
>> Rule of thumb for reducing conflict resolution labor: the bigger manual
>> change goes first. Yours is bigger, but I don't remember how manual it
>> is.
>
> We got pretty much all the manual changes I needed into
> master already, so all that's left really is the script parts.
> The conflicts would basically be where this series affects
> the generate-docs parts of the scripts -- any changes here
> to doc.py are basically dead-code-walking and would need
> to be done over again in the equivalent code for rust generation.
> But looking at the diffstat
> scripts/qapi/doc.py | 16 +-
> so hopefully it won't be too bad.
Not bad at all: two patches, both trivial for this file:
$ git-log --patch master..posted/qapi-features scripts/qapi/doc.py
commit 63daae3c1da9a7d8a189a9dfc80804c812b3f6af
Author: Markus Armbruster <address@hidden>
Date: Fri Oct 18 11:23:40 2019 +0200
qapi: Consistently put @features parameter right after @ifcond
Signed-off-by: Markus Armbruster <address@hidden>
diff --git a/scripts/qapi/doc.py b/scripts/qapi/doc.py
index 36e823338b..92f584edcf 100644
--- a/scripts/qapi/doc.py
+++ b/scripts/qapi/doc.py
@@ -249,8 +249,8 @@ class QAPISchemaGenDocVisitor(QAPISchemaVisitor):
texi_members(doc, 'Values',
member_func=texi_enum_value)))
- def visit_object_type(self, name, info, ifcond, base, members, variants,
- features):
+ def visit_object_type(self, name, info, ifcond, features,
+ base, members, variants):
doc = self.cur_doc
if base and base.is_implicit():
base = None
@@ -262,9 +262,9 @@ class QAPISchemaGenDocVisitor(QAPISchemaVisitor):
self._gen.add(texi_type('Alternate', doc, ifcond,
texi_members(doc, 'Members')))
- def visit_command(self, name, info, ifcond, arg_type, ret_type, gen,
- success_response, boxed, allow_oob, allow_preconfig,
- features):
+ def visit_command(self, name, info, ifcond, features,
+ arg_type, ret_type, gen, success_response, boxed,
+ allow_oob, allow_preconfig):
doc = self.cur_doc
self._gen.add(texi_msg('Command', doc, ifcond,
texi_arguments(doc,
commit 9e101e2b1803f326df46e42d88bae9f281da9fe4
Author: Markus Armbruster <address@hidden>
Date: Tue Oct 15 14:33:24 2019 +0200
qapi: Add feature flags to remaining definitions
In v4.1.0, we added feature flags just to struct types (commit
6a8c0b5102^..f3ed93d545), to satisfy an immediate need (commit
c9d4070991 "file-posix: Add dynamic-auto-read-only QAPI feature"). In
v4.2.0, we added them to commands (commit 23394b4c39 "qapi: Add
feature flags to commands") to satisfy another immediate need (commit
d76744e65e "qapi: Allow introspecting fix for savevm's cooperation
with blockdev").
Add them to the remaining definitions: enumeration types, union types,
alternate types, and events.
Signed-off-by: Markus Armbruster <address@hidden>
diff --git a/scripts/qapi/doc.py b/scripts/qapi/doc.py
index 1787a53d91..36e823338b 100644
--- a/scripts/qapi/doc.py
+++ b/scripts/qapi/doc.py
@@ -243,7 +243,7 @@ class QAPISchemaGenDocVisitor(QAPISchemaVisitor):
def write(self, output_dir):
self._gen.write(output_dir)
- def visit_enum_type(self, name, info, ifcond, members, prefix):
+ def visit_enum_type(self, name, info, ifcond, features, members, prefix):
doc = self.cur_doc
self._gen.add(texi_type('Enum', doc, ifcond,
texi_members(doc, 'Values',
@@ -257,7 +257,7 @@ class QAPISchemaGenDocVisitor(QAPISchemaVisitor):
self._gen.add(texi_type('Object', doc, ifcond,
texi_members(doc, 'Members', base, variants)))
- def visit_alternate_type(self, name, info, ifcond, variants):
+ def visit_alternate_type(self, name, info, ifcond, features, variants):
doc = self.cur_doc
self._gen.add(texi_type('Alternate', doc, ifcond,
texi_members(doc, 'Members')))
@@ -270,7 +270,7 @@ class QAPISchemaGenDocVisitor(QAPISchemaVisitor):
texi_arguments(doc,
arg_type if boxed else None)))
- def visit_event(self, name, info, ifcond, arg_type, boxed):
+ def visit_event(self, name, info, ifcond, features, arg_type, boxed):
doc = self.cur_doc
self._gen.add(texi_msg('Event', doc, ifcond,
texi_arguments(doc,
- [PATCH v2 29/30] qapi: Implement -compat deprecated-input=reject, (continued)
- [PATCH v2 29/30] qapi: Implement -compat deprecated-input=reject, Markus Armbruster, 2020/03/03
- [PATCH v2 28/30] qapi: Implement -compat deprecated-output=hide, Markus Armbruster, 2020/03/03
- [PATCH v2 26/30] qapi: Mark deprecated QMP parts with feature 'deprecated', Markus Armbruster, 2020/03/03
- [PATCH v2 06/30] tests/test-qmp-cmds: Check responses more thoroughly, Markus Armbruster, 2020/03/03
- [PATCH v2 23/30] qapi: Simplify how qmp_dispatch() gets the request ID, Markus Armbruster, 2020/03/03
- [PATCH v2 20/30] qapi: Add feature flags to struct members, Markus Armbruster, 2020/03/03
- [PATCH v2 14/30] qapi/introspect: Rename *qlit* to reduce confusion, Markus Armbruster, 2020/03/03
- Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Peter Maydell, 2020/03/03
- Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Peter Krempa, 2020/03/04
- Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Markus Armbruster, 2020/03/04