[PULL 00/30] QAPI patches patches for 2022-12-14

Markus Armbruster posted 30 patches 1 year, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221214074721.731441-1-armbru@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Christian Schoenebeck <qemu_oss@crudebyte.com>, Alexandre Ratchov <alex@caoua.org>, Stefan Berger <stefanb@linux.vnet.ibm.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Eric Blake <eblake@redhat.com>, Xie Yongji <xieyongji@bytedance.com>, Stefan Hajnoczi <stefanha@redhat.com>, Alberto Garcia <berto@igalia.com>, Ilya Dryomov <idryomov@gmail.com>, Peter Lieven <pl@kamp.de>, "Richard W.M. Jones" <rjones@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Markus Armbruster <armbru@redhat.com>, Michael Roth <michael.roth@amd.com>, "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <ani@anisinha.ca>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Yanan Wang <wangyanan55@huawei.com>, David Hildenbrand <david@redhat.com>, Xiao Guangrong <xiaoguangrong.eric@gmail.com>, Jiri Pirko <jiri@resnulli.us>, Jason Wang <jasowang@redhat.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, Peter Maydell <peter.maydell@linaro.org>, Laurent Vivier <laurent@vivier.eu>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <Alistair.Francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Palmer Dabbelt <palmer@dabbelt.com>, Xiaojuan Yang <yangxiaojuan@loongson.cn>, Song Gao <gaosong@loongson.cn>, Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, Vikram Garhwal <vikram.garhwal@amd.com>, Francisco Iglesias <francisco.iglesias@amd.com>, Riku Voipio <riku.voipio@iki.fi>, Fam Zheng <fam@euphon.net>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Hailiang Zhang <zhanghailiang@xfusion.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>, Stefan Weil <sw@weilnetz.de>, Konstantin Kostiuk <kkostiuk@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Ilya Leoshkevich <iii@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Alexander Bulekov <alxndr@bu.edu>, Bandan Das <bsd@redhat.com>, Darren Kenny <darren.kenny@oracle.com>, Qiuhao Li <Qiuhao.Li@outlook.com>
There is a newer version of this series
docs/devel/qapi-code-gen.rst             |  29 ++++-
docs/devel/writing-monitor-commands.rst  |  14 +--
include/monitor/monitor.h                |   3 +-
audio/alsaaudio.c                        |   2 +-
audio/audio.c                            |   6 +-
audio/audio_legacy.c                     |  17 ++-
audio/ossaudio.c                         |   8 +-
audio/paaudio.c                          |  12 +-
audio/sndioaudio.c                       |   2 +-
audio/wavaudio.c                         |   2 +-
backends/tpm/tpm_passthrough.c           |   2 -
block/block-backend.c                    |   2 +-
block/copy-before-write.c                |   2 +-
block/dirty-bitmap.c                     |   1 -
block/export/export.c                    |   2 +-
block/export/vduse-blk.c                 |   3 +-
block/gluster.c                          |   3 -
block/monitor/block-hmp-cmds.c           |  48 ++++----
block/qapi-sysemu.c                      |  73 +++++-------
block/qapi.c                             |  62 ++++-------
block/qcow.c                             |  10 +-
block/qcow2.c                            |  18 ++-
block/qed.c                              |   2 +-
block/quorum.c                           |   2 +-
block/rbd.c                              |  15 +--
block/ssh.c                              |   2 +-
blockdev-nbd.c                           |   9 +-
blockdev.c                               | 185 +++++++++++++------------------
blockjob.c                               |   2 -
chardev/char-file.c                      |   4 +-
chardev/char-socket.c                    |  10 +-
chardev/char-udp.c                       |   1 -
chardev/char.c                           |   6 +-
crypto/block-luks.c                      |  16 +--
dump/dump.c                              |   4 +-
hw/acpi/core.c                           |  14 +--
hw/acpi/cpu.c                            |   1 -
hw/acpi/memory_hotplug.c                 |   3 +-
hw/core/machine-hmp-cmds.c               |   2 +-
hw/core/machine-qmp-cmds.c               |   9 +-
hw/core/machine.c                        |  10 +-
hw/core/numa.c                           |   8 +-
hw/core/qdev.c                           |   2 +-
hw/mem/pc-dimm.c                         |   1 -
hw/net/rocker/rocker_of_dpa.c            |  13 +--
hw/net/virtio-net.c                      |   3 +-
hw/nvram/fw_cfg.c                        |   2 +-
hw/pci/pci.c                             |   2 -
hw/ppc/spapr.c                           |   2 +-
hw/ppc/spapr_drc.c                       |   3 +-
hw/virtio/virtio-mem-pci.c               |   4 +-
hw/virtio/virtio-pmem-pci.c              |   1 -
hw/virtio/virtio.c                       |   1 -
job-qmp.c                                |   3 +-
migration/block-dirty-bitmap.c           |   4 +-
migration/colo.c                         |   1 -
migration/migration.c                    |  27 ++---
monitor/hmp-cmds.c                       |  84 +++++++-------
monitor/misc.c                           |  21 +---
monitor/qmp-cmds.c                       |  11 +-
nbd/server.c                             |  15 +--
net/announce.c                           |   8 +-
net/hub.c                                |   2 +-
net/l2tpv3.c                             |   2 +-
net/net.c                                |  25 ++---
net/slirp.c                              |   4 +-
net/socket.c                             |  18 +--
net/tap-win32.c                          |   2 +-
net/tap.c                                |  51 +++++----
net/vhost-vdpa.c                         |   6 +-
qemu-img.c                               |  13 +--
qemu-nbd.c                               |   2 -
qga/commands-posix.c                     |  32 ++----
qga/commands-win32.c                     |  40 ++-----
qga/commands.c                           |  11 +-
qom/qom-qmp-cmds.c                       |   7 +-
replay/replay-debugging.c                |   1 -
softmmu/runstate.c                       |  18 +--
softmmu/vl.c                             |   2 +-
stubs/qdev.c                             |   6 +-
target/arm/monitor.c                     |   1 -
target/i386/cpu-sysemu.c                 |   7 +-
target/i386/cpu.c                        |   1 -
target/s390x/cpu_models_sysemu.c         |   1 -
tests/qtest/fuzz/qos_fuzz.c              |   3 +-
tests/qtest/qmp-cmd-test.c               |   2 +-
tests/unit/test-char.c                   |   1 -
tests/unit/test-crypto-block.c           |   6 -
tests/unit/test-qmp-cmds.c               |  26 ++---
tests/unit/test-qmp-event.c              |   4 +-
tests/unit/test-qobject-input-visitor.c  |   2 +-
tests/unit/test-qobject-output-visitor.c |   2 -
tests/unit/test-visitor-serialization.c  |   3 +-
ui/console.c                             |   4 +-
ui/input.c                               |   4 +-
ui/spice-core.c                          |   5 -
ui/vnc.c                                 |  10 --
util/qemu-config.c                       |  17 +--
scripts/qapi/commands.py                 |   9 +-
scripts/qapi/events.py                   |   3 +-
scripts/qapi/gen.py                      |   2 +-
scripts/qapi/schema.py                   |  14 +++
scripts/qapi/types.py                    |   2 +-
scripts/qapi/visit.py                    |  17 ++-
104 files changed, 487 insertions(+), 735 deletions(-)
[PULL 00/30] QAPI patches patches for 2022-12-14
Posted by Markus Armbruster 1 year, 4 months ago
The following changes since commit ea3a008d2d9ced9c4f93871c823baee237047f93:

  Update VERSION for v7.2.0-rc4 (2022-12-06 19:53:34 -0500)

are available in the Git repository at:

  https://repo.or.cz/qemu/armbru.git tags/pull-qapi-2022-12-14

for you to fetch changes up to 4fd14ed8e5432f2998ec63922e3146c017ce8fc8:

  qapi: Drop temporary logic to support conversion step by step (2022-12-13 18:31:38 +0100)

----------------------------------------------------------------
QAPI patches patches for 2022-12-14

----------------------------------------------------------------
Markus Armbruster (30):
      docs/devel/qapi-code-gen: Update example to match current code
      qapi: Tidy up whitespace in generated code
      docs/devel/qapi-code-gen: Extend example for next commit's change
      qapi: Start to elide redundant has_FOO in generated C
      qapi tests: Elide redundant has_FOO in generated C
      qapi acpi: Elide redundant has_FOO in generated C
      qapi audio: Elide redundant has_FOO in generated C
      blockdev: Clean up abuse of DriveBackup member format
      nbd/server: Clean up abuse of BlockExportOptionsNbd member @arg
      qapi block: Elide redundant has_FOO in generated C
      qapi chardev: Elide redundant has_FOO in generated C
      qapi crypto: Elide redundant has_FOO in generated C
      qapi dump: Elide redundant has_FOO in generated C
      qapi job: Elide redundant has_FOO in generated C
      qapi machine: Elide redundant has_FOO in generated C
      qapi migration: Elide redundant has_FOO in generated C
      qapi misc: Elide redundant has_FOO in generated C
      qapi net: Elide redundant has_FOO in generated C
      qapi pci: Elide redundant has_FOO in generated C
      qapi qdev qom: Elide redundant has_FOO in generated C
      qapi replay: Elide redundant has_FOO in generated C
      qapi rocker: Elide redundant has_FOO in generated C
      qapi run-state: Elide redundant has_FOO in generated C
      qapi stats: Elide redundant has_FOO in generated C
      qapi tpm: Elide redundant has_FOO in generated C
      qapi transaction: Elide redundant has_FOO in generated C
      qapi ui: Elide redundant has_FOO in generated C
      qapi virtio: Elide redundant has_FOO in generated C
      qapi qga: Elide redundant has_FOO in generated C
      qapi: Drop temporary logic to support conversion step by step

 docs/devel/qapi-code-gen.rst             |  29 ++++-
 docs/devel/writing-monitor-commands.rst  |  14 +--
 include/monitor/monitor.h                |   3 +-
 audio/alsaaudio.c                        |   2 +-
 audio/audio.c                            |   6 +-
 audio/audio_legacy.c                     |  17 ++-
 audio/ossaudio.c                         |   8 +-
 audio/paaudio.c                          |  12 +-
 audio/sndioaudio.c                       |   2 +-
 audio/wavaudio.c                         |   2 +-
 backends/tpm/tpm_passthrough.c           |   2 -
 block/block-backend.c                    |   2 +-
 block/copy-before-write.c                |   2 +-
 block/dirty-bitmap.c                     |   1 -
 block/export/export.c                    |   2 +-
 block/export/vduse-blk.c                 |   3 +-
 block/gluster.c                          |   3 -
 block/monitor/block-hmp-cmds.c           |  48 ++++----
 block/qapi-sysemu.c                      |  73 +++++-------
 block/qapi.c                             |  62 ++++-------
 block/qcow.c                             |  10 +-
 block/qcow2.c                            |  18 ++-
 block/qed.c                              |   2 +-
 block/quorum.c                           |   2 +-
 block/rbd.c                              |  15 +--
 block/ssh.c                              |   2 +-
 blockdev-nbd.c                           |   9 +-
 blockdev.c                               | 185 +++++++++++++------------------
 blockjob.c                               |   2 -
 chardev/char-file.c                      |   4 +-
 chardev/char-socket.c                    |  10 +-
 chardev/char-udp.c                       |   1 -
 chardev/char.c                           |   6 +-
 crypto/block-luks.c                      |  16 +--
 dump/dump.c                              |   4 +-
 hw/acpi/core.c                           |  14 +--
 hw/acpi/cpu.c                            |   1 -
 hw/acpi/memory_hotplug.c                 |   3 +-
 hw/core/machine-hmp-cmds.c               |   2 +-
 hw/core/machine-qmp-cmds.c               |   9 +-
 hw/core/machine.c                        |  10 +-
 hw/core/numa.c                           |   8 +-
 hw/core/qdev.c                           |   2 +-
 hw/mem/pc-dimm.c                         |   1 -
 hw/net/rocker/rocker_of_dpa.c            |  13 +--
 hw/net/virtio-net.c                      |   3 +-
 hw/nvram/fw_cfg.c                        |   2 +-
 hw/pci/pci.c                             |   2 -
 hw/ppc/spapr.c                           |   2 +-
 hw/ppc/spapr_drc.c                       |   3 +-
 hw/virtio/virtio-mem-pci.c               |   4 +-
 hw/virtio/virtio-pmem-pci.c              |   1 -
 hw/virtio/virtio.c                       |   1 -
 job-qmp.c                                |   3 +-
 migration/block-dirty-bitmap.c           |   4 +-
 migration/colo.c                         |   1 -
 migration/migration.c                    |  27 ++---
 monitor/hmp-cmds.c                       |  84 +++++++-------
 monitor/misc.c                           |  21 +---
 monitor/qmp-cmds.c                       |  11 +-
 nbd/server.c                             |  15 +--
 net/announce.c                           |   8 +-
 net/hub.c                                |   2 +-
 net/l2tpv3.c                             |   2 +-
 net/net.c                                |  25 ++---
 net/slirp.c                              |   4 +-
 net/socket.c                             |  18 +--
 net/tap-win32.c                          |   2 +-
 net/tap.c                                |  51 +++++----
 net/vhost-vdpa.c                         |   6 +-
 qemu-img.c                               |  13 +--
 qemu-nbd.c                               |   2 -
 qga/commands-posix.c                     |  32 ++----
 qga/commands-win32.c                     |  40 ++-----
 qga/commands.c                           |  11 +-
 qom/qom-qmp-cmds.c                       |   7 +-
 replay/replay-debugging.c                |   1 -
 softmmu/runstate.c                       |  18 +--
 softmmu/vl.c                             |   2 +-
 stubs/qdev.c                             |   6 +-
 target/arm/monitor.c                     |   1 -
 target/i386/cpu-sysemu.c                 |   7 +-
 target/i386/cpu.c                        |   1 -
 target/s390x/cpu_models_sysemu.c         |   1 -
 tests/qtest/fuzz/qos_fuzz.c              |   3 +-
 tests/qtest/qmp-cmd-test.c               |   2 +-
 tests/unit/test-char.c                   |   1 -
 tests/unit/test-crypto-block.c           |   6 -
 tests/unit/test-qmp-cmds.c               |  26 ++---
 tests/unit/test-qmp-event.c              |   4 +-
 tests/unit/test-qobject-input-visitor.c  |   2 +-
 tests/unit/test-qobject-output-visitor.c |   2 -
 tests/unit/test-visitor-serialization.c  |   3 +-
 ui/console.c                             |   4 +-
 ui/input.c                               |   4 +-
 ui/spice-core.c                          |   5 -
 ui/vnc.c                                 |  10 --
 util/qemu-config.c                       |  17 +--
 scripts/qapi/commands.py                 |   9 +-
 scripts/qapi/events.py                   |   3 +-
 scripts/qapi/gen.py                      |   2 +-
 scripts/qapi/schema.py                   |  14 +++
 scripts/qapi/types.py                    |   2 +-
 scripts/qapi/visit.py                    |  17 ++-
 104 files changed, 487 insertions(+), 735 deletions(-)

-- 
2.37.3
Re: [PULL 00/30] QAPI patches patches for 2022-12-14
Posted by Peter Maydell 1 year, 4 months ago
On Wed, 14 Dec 2022 at 07:48, Markus Armbruster <armbru@redhat.com> wrote:
>
> The following changes since commit ea3a008d2d9ced9c4f93871c823baee237047f93:
>
>   Update VERSION for v7.2.0-rc4 (2022-12-06 19:53:34 -0500)
>
> are available in the Git repository at:
>
>   https://repo.or.cz/qemu/armbru.git tags/pull-qapi-2022-12-14
>
> for you to fetch changes up to 4fd14ed8e5432f2998ec63922e3146c017ce8fc8:
>
>   qapi: Drop temporary logic to support conversion step by step (2022-12-13 18:31:38 +0100)
>
> ----------------------------------------------------------------
> QAPI patches patches for 2022-12-14

Hi; I'm afraid this fails to build on multiple platforms:

https://gitlab.com/qemu-project/qemu/-/pipelines/722490645

Symptoms generally seem to be missing fields in QAPI-defined
structs, eg most of the CI fails on this one:

../block/rbd.c: In function ‘qemu_rbd_do_create’:
../block/rbd.c:545:15: error: ‘BlockdevCreateOptionsRbd’ has no member
named ‘has_encrypt’; did you mean ‘encrypt’?
545 | if (opts->has_encrypt) {
| ^~~~~~~~~~~
| encrypt

I also saw these errors on a local macos build:

../../net/vmnet-host.c:42:18: error: no member named 'has_net_uuid' in
'struct NetdevVmnetHostOptions'; did you mean 'net_uuid'?
../../net/vmnet-host.c:50:19: error: no member named
'has_start_address' in 'struct NetdevVmnetHostOptions'; did you mean
'start_address'?
../../net/vmnet-host.c:51:19: error: no member named 'has_end_address'
in 'struct NetdevVmnetHostOptions'; did you mean 'end_address'?
../../net/vmnet-host.c:52:19: error: no member named 'has_subnet_mask'
in 'struct NetdevVmnetHostOptions'; did you mean 'subnet_mask'?
../../net/vmnet-host.c:53:20: error: no member named
'has_start_address' in 'struct NetdevVmnetHostOptions'; did you mean
'start_address'?
../../net/vmnet-host.c:54:20: error: no member named 'has_end_address'
in 'struct NetdevVmnetHostOptions'; did you mean 'end_address'?
(and others in that struct in the same file)

The macos CI build also fails with
../ui/cocoa.m:1485:39: error: too many arguments to function call,
expected 5, have 7
calling qmp_eject() and similarly with qmp_blockdev_change_medium():
https://gitlab.com/qemu-project/qemu/-/jobs/3474118201

thanks
-- PMM