[PULL 00/30] QAPI patches for 2020-03-17

Markus Armbruster posted 30 patches 5 years, 8 months ago
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test FreeBSD passed
Test asan passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200317210115.8864-1-armbru@redhat.com
Maintainers: Michael Roth <mdroth@linux.vnet.ibm.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Markus Armbruster <armbru@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Juan Quintela <quintela@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Eric Blake <eblake@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Jason Wang <jasowang@redhat.com>
docs/devel/qapi-code-gen.txt                    |  81 +++-
docs/system/deprecated.rst                      |  48 ++-
tests/qapi-schema/doc-good.texi                 |  32 ++
qapi/block-core.json                            |  48 ++-
qapi/block.json                                 |  30 +-
qapi/char.json                                  |   1 +
qapi/control.json                               |  11 +-
qapi/introspect.json                            |  26 +-
qapi/machine.json                               |  34 +-
qapi/migration.json                             |  36 +-
qapi/misc.json                                  |  13 +-
qapi/net.json                                   |  14 +-
include/net/net.h                               |   2 +-
include/qapi/qmp/dispatch.h                     |   9 +-
monitor/monitor-internal.h                      |   2 +-
monitor/misc.c                                  |   6 +-
monitor/qmp-cmds-control.c                      |   2 +-
net/net.c                                       |  39 +-
qapi/qmp-dispatch.c                             | 134 ++++---
qapi/qmp-registry.c                             |   6 +-
qga/commands.c                                  |   2 +-
qga/main.c                                      |   6 +-
tests/test-qmp-cmds.c                           | 162 ++++----
tests/test-qmp-event.c                          | 166 ++------
scripts/qapi/commands.py                        |   6 +-
scripts/qapi/doc.py                             |  16 +-
scripts/qapi/events.py                          |   2 +-
scripts/qapi/expr.py                            |  14 +-
scripts/qapi/introspect.py                      | 104 ++---
scripts/qapi/schema.py                          | 488 +++++++++++++-----------
scripts/qapi/types.py                           |   8 +-
scripts/qapi/visit.py                           |   8 +-
tests/Makefile.include                          |   1 +
tests/qapi-schema/alternate-base.err            |   2 +-
tests/qapi-schema/doc-good.json                 |  22 +-
tests/qapi-schema/doc-good.out                  |  18 +
tests/qapi-schema/features-deprecated-type.err  |   2 +
tests/qapi-schema/features-deprecated-type.json |   3 +
tests/qapi-schema/features-deprecated-type.out  |   0
tests/qapi-schema/qapi-schema-test.json         |  33 +-
tests/qapi-schema/qapi-schema-test.out          |  30 +-
tests/qapi-schema/test-qapi.py                  |  26 +-
42 files changed, 924 insertions(+), 769 deletions(-)
create mode 100644 tests/qapi-schema/features-deprecated-type.err
create mode 100644 tests/qapi-schema/features-deprecated-type.json
create mode 100644 tests/qapi-schema/features-deprecated-type.out
[PULL 00/30] QAPI patches for 2020-03-17
Posted by Markus Armbruster 5 years, 8 months ago
The following changes since commit 40c67636f67c2a89745f2e698522fe917326a952:

  Merge remote-tracking branch 'remotes/kraxel/tags/usb-20200317-pull-request' into staging (2020-03-17 14:00:56 +0000)

are available in the Git repository at:

  git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2020-03-17

for you to fetch changes up to 0d2ff4a9adfdac37495f04441d0dc3100804abae:

  net: Track netdevs in NetClientState rather than QemuOpt (2020-03-17 21:44:02 +0100)

----------------------------------------------------------------
QAPI patches for 2020-03-17

* Fix documentation of deprecated features

* QMP unit test improvements

* QAPI schema language

  - Documentation improvements
  - Support feature flags in more places

* Expose deprecated syntax in query-qmp-schema

* Fix netdev_add

  - Don't ignore arguments dnssearch, hostfwd, and guestfwd
  - Don't exit on "type": "help"
  - Drop undocumented and unwanted argument ipv6
  - Fix type checking

----------------------------------------------------------------
Eric Blake (2):
      net: Complete qapi-fication of netdev_add
      net: Track netdevs in NetClientState rather than QemuOpt

Marc-André Lureau (1):
      qmp: constify QmpCommand and list

Markus Armbruster (27):
      docs/devel/qapi-code-gen: Fix typo in grammar
      qemu-doc: Belatedly document QMP command arg & result deprecation
      qapi: Belatedly update doc comment for @wait deprecation
      docs/devel/qapi-code-gen: Clarify allow-oob introspection
      docs/devel/qapi-code-gen: Document 'features' introspection
      tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers
      tests/test-qmp-cmds: Check responses more thoroughly
      tests/test-qmp-cmds: Simplify test data setup
      tests/test-qmp-event: Simplify test data setup
      tests/test-qmp-event: Use qobject_is_equal()
      tests/test-qmp-event: Check event is actually emitted
      qapi/schema: Clean up around QAPISchemaEntity.connect_doc()
      qapi: Add feature flags to remaining definitions
      qapi: Consistently put @features parameter right after @ifcond
      qapi/introspect: Rename *qlit* to reduce confusion
      qapi/introspect: Factor out _make_tree()
      qapi/schema: Change _make_features() to a take feature list
      qapi/schema: Reorder classes so related ones are together
      qapi/schema: Rename QAPISchemaObjectType{Variant,Variants}
      qapi/schema: Call QAPIDoc.connect_member() in just one place
      qapi: Add feature flags to struct members
      qapi: Inline do_qmp_dispatch() into qmp_dispatch()
      qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP
      qapi: Simplify how qmp_dispatch() gets the request ID
      qapi: Replace qmp_dispatch()'s TODO comment by an explanation
      qapi: New special feature flag "deprecated"
      qapi: Mark deprecated QMP parts with feature 'deprecated'

 docs/devel/qapi-code-gen.txt                    |  81 +++-
 docs/system/deprecated.rst                      |  48 ++-
 tests/qapi-schema/doc-good.texi                 |  32 ++
 qapi/block-core.json                            |  48 ++-
 qapi/block.json                                 |  30 +-
 qapi/char.json                                  |   1 +
 qapi/control.json                               |  11 +-
 qapi/introspect.json                            |  26 +-
 qapi/machine.json                               |  34 +-
 qapi/migration.json                             |  36 +-
 qapi/misc.json                                  |  13 +-
 qapi/net.json                                   |  14 +-
 include/net/net.h                               |   2 +-
 include/qapi/qmp/dispatch.h                     |   9 +-
 monitor/monitor-internal.h                      |   2 +-
 monitor/misc.c                                  |   6 +-
 monitor/qmp-cmds-control.c                      |   2 +-
 net/net.c                                       |  39 +-
 qapi/qmp-dispatch.c                             | 134 ++++---
 qapi/qmp-registry.c                             |   6 +-
 qga/commands.c                                  |   2 +-
 qga/main.c                                      |   6 +-
 tests/test-qmp-cmds.c                           | 162 ++++----
 tests/test-qmp-event.c                          | 166 ++------
 scripts/qapi/commands.py                        |   6 +-
 scripts/qapi/doc.py                             |  16 +-
 scripts/qapi/events.py                          |   2 +-
 scripts/qapi/expr.py                            |  14 +-
 scripts/qapi/introspect.py                      | 104 ++---
 scripts/qapi/schema.py                          | 488 +++++++++++++-----------
 scripts/qapi/types.py                           |   8 +-
 scripts/qapi/visit.py                           |   8 +-
 tests/Makefile.include                          |   1 +
 tests/qapi-schema/alternate-base.err            |   2 +-
 tests/qapi-schema/doc-good.json                 |  22 +-
 tests/qapi-schema/doc-good.out                  |  18 +
 tests/qapi-schema/features-deprecated-type.err  |   2 +
 tests/qapi-schema/features-deprecated-type.json |   3 +
 tests/qapi-schema/features-deprecated-type.out  |   0
 tests/qapi-schema/qapi-schema-test.json         |  33 +-
 tests/qapi-schema/qapi-schema-test.out          |  30 +-
 tests/qapi-schema/test-qapi.py                  |  26 +-
 42 files changed, 924 insertions(+), 769 deletions(-)
 create mode 100644 tests/qapi-schema/features-deprecated-type.err
 create mode 100644 tests/qapi-schema/features-deprecated-type.json
 create mode 100644 tests/qapi-schema/features-deprecated-type.out
armbru@dusky:~/work/qemu$ git-commit -v --amend
hint: Waiting for your editor to close the file...
Waiting for Emacs...  C-c C-c
[Exit 130 (INT)]
armbru@dusky:~/work/qemu$ git-rebase -i master
hint: Waiting for your editor to close the file...
Waiting for Emacs...
hint: Waiting for your editor to close the file...
Waiting for Emacs...
[detached HEAD db2a380c84] net: Complete qapi-fication of netdev_add
 Author: Eric Blake <eblake@redhat.com>
 Date: Tue Mar 17 15:17:10 2020 -0500
 4 files changed, 4 insertions(+), 19 deletions(-)
Successfully rebased and updated refs/heads/qapi-next.
armbru@dusky:~/work/qemu$ find -name trace-[0-9]\* -delete
armbru@dusky:~/work/qemu$ git-request-pull master public pull-qapi-`date +%F`
The following changes since commit 40c67636f67c2a89745f2e698522fe917326a952:

  Merge remote-tracking branch 'remotes/kraxel/tags/usb-20200317-pull-request' into staging (2020-03-17 14:00:56 +0000)

are available in the Git repository at:

  git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2020-03-17

for you to fetch changes up to 08712fcb851034228b61f75bd922863a984a4f60:

  net: Track netdevs in NetClientState rather than QemuOpt (2020-03-17 21:50:36 +0100)

----------------------------------------------------------------
QAPI patches for 2020-03-17

----------------------------------------------------------------
Eric Blake (2):
      net: Complete qapi-fication of netdev_add
      net: Track netdevs in NetClientState rather than QemuOpt

Marc-André Lureau (1):
      qmp: constify QmpCommand and list

Markus Armbruster (27):
      docs/devel/qapi-code-gen: Fix typo in grammar
      qemu-doc: Belatedly document QMP command arg & result deprecation
      qapi: Belatedly update doc comment for @wait deprecation
      docs/devel/qapi-code-gen: Clarify allow-oob introspection
      docs/devel/qapi-code-gen: Document 'features' introspection
      tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers
      tests/test-qmp-cmds: Check responses more thoroughly
      tests/test-qmp-cmds: Simplify test data setup
      tests/test-qmp-event: Simplify test data setup
      tests/test-qmp-event: Use qobject_is_equal()
      tests/test-qmp-event: Check event is actually emitted
      qapi/schema: Clean up around QAPISchemaEntity.connect_doc()
      qapi: Add feature flags to remaining definitions
      qapi: Consistently put @features parameter right after @ifcond
      qapi/introspect: Rename *qlit* to reduce confusion
      qapi/introspect: Factor out _make_tree()
      qapi/schema: Change _make_features() to a take feature list
      qapi/schema: Reorder classes so related ones are together
      qapi/schema: Rename QAPISchemaObjectType{Variant,Variants}
      qapi/schema: Call QAPIDoc.connect_member() in just one place
      qapi: Add feature flags to struct members
      qapi: Inline do_qmp_dispatch() into qmp_dispatch()
      qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP
      qapi: Simplify how qmp_dispatch() gets the request ID
      qapi: Replace qmp_dispatch()'s TODO comment by an explanation
      qapi: New special feature flag "deprecated"
      qapi: Mark deprecated QMP parts with feature 'deprecated'

 docs/devel/qapi-code-gen.txt                    |  81 +++-
 docs/system/deprecated.rst                      |  48 ++-
 tests/qapi-schema/doc-good.texi                 |  32 ++
 qapi/block-core.json                            |  48 ++-
 qapi/block.json                                 |  30 +-
 qapi/char.json                                  |   1 +
 qapi/control.json                               |  11 +-
 qapi/introspect.json                            |  26 +-
 qapi/machine.json                               |  34 +-
 qapi/migration.json                             |  36 +-
 qapi/misc.json                                  |  13 +-
 qapi/net.json                                   |  14 +-
 include/net/net.h                               |   2 +-
 include/qapi/qmp/dispatch.h                     |   9 +-
 monitor/monitor-internal.h                      |   2 +-
 monitor/misc.c                                  |   6 +-
 monitor/qmp-cmds-control.c                      |   2 +-
 net/net.c                                       |  39 +-
 qapi/qmp-dispatch.c                             | 134 ++++---
 qapi/qmp-registry.c                             |   6 +-
 qga/commands.c                                  |   2 +-
 qga/main.c                                      |   6 +-
 tests/test-qmp-cmds.c                           | 162 ++++----
 tests/test-qmp-event.c                          | 166 ++------
 scripts/qapi/commands.py                        |   6 +-
 scripts/qapi/doc.py                             |  16 +-
 scripts/qapi/events.py                          |   2 +-
 scripts/qapi/expr.py                            |  14 +-
 scripts/qapi/introspect.py                      | 104 ++---
 scripts/qapi/schema.py                          | 488 +++++++++++++-----------
 scripts/qapi/types.py                           |   8 +-
 scripts/qapi/visit.py                           |   8 +-
 tests/Makefile.include                          |   1 +
 tests/qapi-schema/alternate-base.err            |   2 +-
 tests/qapi-schema/doc-good.json                 |  22 +-
 tests/qapi-schema/doc-good.out                  |  18 +
 tests/qapi-schema/features-deprecated-type.err  |   2 +
 tests/qapi-schema/features-deprecated-type.json |   3 +
 tests/qapi-schema/features-deprecated-type.out  |   0
 tests/qapi-schema/qapi-schema-test.json         |  33 +-
 tests/qapi-schema/qapi-schema-test.out          |  30 +-
 tests/qapi-schema/test-qapi.py                  |  26 +-
 42 files changed, 924 insertions(+), 769 deletions(-)
 create mode 100644 tests/qapi-schema/features-deprecated-type.err
 create mode 100644 tests/qapi-schema/features-deprecated-type.json
 create mode 100644 tests/qapi-schema/features-deprecated-type.out

-- 
2.21.1


Re: [PULL 00/30] QAPI patches for 2020-03-17
Posted by Peter Maydell 5 years, 7 months ago
On Tue, 17 Mar 2020 at 21:06, Markus Armbruster <armbru@redhat.com> wrote:
>
> The following changes since commit 40c67636f67c2a89745f2e698522fe917326a952:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/usb-20200317-pull-request' into staging (2020-03-17 14:00:56 +0000)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2020-03-17
>
> for you to fetch changes up to 0d2ff4a9adfdac37495f04441d0dc3100804abae:
>
>   net: Track netdevs in NetClientState rather than QemuOpt (2020-03-17 21:44:02 +0100)
>
> ----------------------------------------------------------------
> QAPI patches for 2020-03-17
>
> * Fix documentation of deprecated features
>
> * QMP unit test improvements
>
> * QAPI schema language
>
>   - Documentation improvements
>   - Support feature flags in more places
>
> * Expose deprecated syntax in query-qmp-schema
>
> * Fix netdev_add
>
>   - Don't ignore arguments dnssearch, hostfwd, and guestfwd
>   - Don't exit on "type": "help"
>   - Drop undocumented and unwanted argument ipv6
>   - Fix type checking
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM