[PATCH v2 0/6] qemu-storage-daemon: QAPIfy --chardev

Kevin Wolf posted 6 patches 5 years ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20201023161312.460406-1-kwolf@redhat.com
Maintainers: David Hildenbrand <david@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Stefan Berger <stefanb@linux.vnet.ibm.com>, Michael Roth <mdroth@linux.vnet.ibm.com>, Eduardo Habkost <ehabkost@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Markus Armbruster <armbru@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Michael S. Tsirkin" <mst@redhat.com>, Anthony Perard <anthony.perard@citrix.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Fam Zheng <fam@euphon.net>, Peter Maydell <peter.maydell@linaro.org>, Paul Durrant <paul@xen.org>, "Daniel P. Berrangé" <berrange@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>, Eric Blake <eblake@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
qapi/char.json                                |  6 +-
docs/devel/qapi-code-gen.txt                  | 43 +++++++---
docs/sphinx/qapidoc.py                        | 14 ++--
include/chardev/char.h                        |  1 +
include/qapi/visitor-impl.h                   |  3 +
include/qapi/visitor.h                        | 10 +++
backends/tpm/tpm_emulator.c                   |  3 +-
backends/tpm/tpm_passthrough.c                |  4 +-
block/crypto.c                                |  3 +-
block/qcow2.c                                 |  9 +-
block/vmdk.c                                  | 14 ++--
blockdev.c                                    | 36 ++++----
chardev/char-file.c                           |  5 +-
chardev/char-mux.c                            |  5 +-
chardev/char-parallel.c                       |  5 +-
chardev/char-pipe.c                           |  7 +-
chardev/char-ringbuf.c                        |  5 +-
chardev/char-serial.c                         |  5 +-
chardev/char-socket.c                         | 13 ++-
chardev/char-stdio.c                          |  9 +-
chardev/char-udp.c                            | 11 +--
chardev/char.c                                | 26 +++---
chardev/msmouse.c                             |  4 +-
chardev/spice.c                               | 10 +--
chardev/wctablet.c                            |  4 +-
hw/core/numa.c                                |  6 +-
hw/display/xenfb.c                            |  8 +-
hw/input/hid.c                                |  8 +-
hw/input/ps2.c                                |  6 +-
hw/input/virtio-input-hid.c                   |  8 +-
hw/mem/pc-dimm.c                              | 18 ++--
hw/virtio/virtio-mem-pci.c                    |  3 +-
hw/virtio/virtio-pmem-pci.c                   |  3 +-
monitor/hmp-cmds.c                            | 14 ++--
qapi/qapi-visit-core.c                        | 10 +++
qemu-keymap.c                                 |  2 +-
replay/replay-input.c                         | 46 +++++-----
storage-daemon/qemu-storage-daemon.c          | 47 +++++++++--
tests/test-char.c                             | 12 ++-
tests/test-clone-visitor.c                    | 14 ++--
tests/test-qmp-cmds.c                         |  2 +-
tests/test-qobject-input-visitor.c            | 24 +++---
tests/test-qobject-output-visitor.c           | 24 +++---
ui/console.c                                  |  5 +-
ui/input-keymap.c                             | 12 +--
ui/input-legacy.c                             | 12 +--
ui/input.c                                    | 43 +++++-----
ui/spice-app.c                                |  5 +-
util/qemu-sockets.c                           |  8 +-
scripts/qapi/expr.py                          |  7 +-
scripts/qapi/introspect.py                    |  7 +-
scripts/qapi/schema.py                        | 74 +++++++++++++---
scripts/qapi/visit.py                         | 36 ++++++++
tests/qapi-schema/doc-good.out                |  8 +-
tests/qapi-schema/flat-union-allow-flat.err   |  2 +
tests/qapi-schema/flat-union-allow-flat.json  | 10 +++
tests/qapi-schema/flat-union-allow-flat.out   |  0
tests/qapi-schema/meson.build                 |  5 ++
tests/qapi-schema/qapi-schema-test.json       | 10 +++
tests/qapi-schema/qapi-schema-test.out        | 84 +++++++------------
tests/qapi-schema/union-allow-flat-bad.err    |  2 +
tests/qapi-schema/union-allow-flat-bad.json   |  5 ++
tests/qapi-schema/union-allow-flat-bad.out    |  0
.../union-allow-flat-builtin-type.err         |  2 +
.../union-allow-flat-builtin-type.json        |  5 ++
.../union-allow-flat-builtin-type.out         |  0
tests/qapi-schema/union-clash-member-data.err |  2 +
.../qapi-schema/union-clash-member-data.json  |  6 ++
tests/qapi-schema/union-clash-member-data.out |  0
tests/qapi-schema/union-clash-member-type.err |  2 +
.../qapi-schema/union-clash-member-type.json  |  6 ++
tests/qapi-schema/union-clash-member-type.out |  0
72 files changed, 517 insertions(+), 351 deletions(-)
create mode 100644 tests/qapi-schema/flat-union-allow-flat.err
create mode 100644 tests/qapi-schema/flat-union-allow-flat.json
create mode 100644 tests/qapi-schema/flat-union-allow-flat.out
create mode 100644 tests/qapi-schema/union-allow-flat-bad.err
create mode 100644 tests/qapi-schema/union-allow-flat-bad.json
create mode 100644 tests/qapi-schema/union-allow-flat-bad.out
create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.err
create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.json
create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.out
create mode 100644 tests/qapi-schema/union-clash-member-data.err
create mode 100644 tests/qapi-schema/union-clash-member-data.json
create mode 100644 tests/qapi-schema/union-clash-member-data.out
create mode 100644 tests/qapi-schema/union-clash-member-type.err
create mode 100644 tests/qapi-schema/union-clash-member-type.json
create mode 100644 tests/qapi-schema/union-clash-member-type.out
[PATCH v2 0/6] qemu-storage-daemon: QAPIfy --chardev
Posted by Kevin Wolf 5 years ago
While the qemu-storage-daemon command line is still considered unstable,
let's change --chardev from the old QemuOpts-based parser to QAPI, so
that it becomes a simple mapping of chardev-add to the command line and
will fit in a future fully QAPIfied command line without later
incompatible changes or additional compatibility glue.

v2:
- Use g_autoptr in qemu_chr_print_types() [Marc-André]
- Fixed build failures with spice [Marc-André]
- Fixed documentation generation [Markus]
- Make sure that no simple union variant contains a 'data' branch that
  would make conversion to flat representation much more complicated

Kevin Wolf (6):
  char/stdio: Fix QMP default for 'signal'
  char: Factor out qemu_chr_print_types()
  qapi: Remove wrapper struct for simple unions
  qapi: Optionally parse simple unions as flat
  tests/qapi-schema: Flat representation of simple unions
  qemu-storage-daemon: Use qmp_chardev_add() for --chardev

 qapi/char.json                                |  6 +-
 docs/devel/qapi-code-gen.txt                  | 43 +++++++---
 docs/sphinx/qapidoc.py                        | 14 ++--
 include/chardev/char.h                        |  1 +
 include/qapi/visitor-impl.h                   |  3 +
 include/qapi/visitor.h                        | 10 +++
 backends/tpm/tpm_emulator.c                   |  3 +-
 backends/tpm/tpm_passthrough.c                |  4 +-
 block/crypto.c                                |  3 +-
 block/qcow2.c                                 |  9 +-
 block/vmdk.c                                  | 14 ++--
 blockdev.c                                    | 36 ++++----
 chardev/char-file.c                           |  5 +-
 chardev/char-mux.c                            |  5 +-
 chardev/char-parallel.c                       |  5 +-
 chardev/char-pipe.c                           |  7 +-
 chardev/char-ringbuf.c                        |  5 +-
 chardev/char-serial.c                         |  5 +-
 chardev/char-socket.c                         | 13 ++-
 chardev/char-stdio.c                          |  9 +-
 chardev/char-udp.c                            | 11 +--
 chardev/char.c                                | 26 +++---
 chardev/msmouse.c                             |  4 +-
 chardev/spice.c                               | 10 +--
 chardev/wctablet.c                            |  4 +-
 hw/core/numa.c                                |  6 +-
 hw/display/xenfb.c                            |  8 +-
 hw/input/hid.c                                |  8 +-
 hw/input/ps2.c                                |  6 +-
 hw/input/virtio-input-hid.c                   |  8 +-
 hw/mem/pc-dimm.c                              | 18 ++--
 hw/virtio/virtio-mem-pci.c                    |  3 +-
 hw/virtio/virtio-pmem-pci.c                   |  3 +-
 monitor/hmp-cmds.c                            | 14 ++--
 qapi/qapi-visit-core.c                        | 10 +++
 qemu-keymap.c                                 |  2 +-
 replay/replay-input.c                         | 46 +++++-----
 storage-daemon/qemu-storage-daemon.c          | 47 +++++++++--
 tests/test-char.c                             | 12 ++-
 tests/test-clone-visitor.c                    | 14 ++--
 tests/test-qmp-cmds.c                         |  2 +-
 tests/test-qobject-input-visitor.c            | 24 +++---
 tests/test-qobject-output-visitor.c           | 24 +++---
 ui/console.c                                  |  5 +-
 ui/input-keymap.c                             | 12 +--
 ui/input-legacy.c                             | 12 +--
 ui/input.c                                    | 43 +++++-----
 ui/spice-app.c                                |  5 +-
 util/qemu-sockets.c                           |  8 +-
 scripts/qapi/expr.py                          |  7 +-
 scripts/qapi/introspect.py                    |  7 +-
 scripts/qapi/schema.py                        | 74 +++++++++++++---
 scripts/qapi/visit.py                         | 36 ++++++++
 tests/qapi-schema/doc-good.out                |  8 +-
 tests/qapi-schema/flat-union-allow-flat.err   |  2 +
 tests/qapi-schema/flat-union-allow-flat.json  | 10 +++
 tests/qapi-schema/flat-union-allow-flat.out   |  0
 tests/qapi-schema/meson.build                 |  5 ++
 tests/qapi-schema/qapi-schema-test.json       | 10 +++
 tests/qapi-schema/qapi-schema-test.out        | 84 +++++++------------
 tests/qapi-schema/union-allow-flat-bad.err    |  2 +
 tests/qapi-schema/union-allow-flat-bad.json   |  5 ++
 tests/qapi-schema/union-allow-flat-bad.out    |  0
 .../union-allow-flat-builtin-type.err         |  2 +
 .../union-allow-flat-builtin-type.json        |  5 ++
 .../union-allow-flat-builtin-type.out         |  0
 tests/qapi-schema/union-clash-member-data.err |  2 +
 .../qapi-schema/union-clash-member-data.json  |  6 ++
 tests/qapi-schema/union-clash-member-data.out |  0
 tests/qapi-schema/union-clash-member-type.err |  2 +
 .../qapi-schema/union-clash-member-type.json  |  6 ++
 tests/qapi-schema/union-clash-member-type.out |  0
 72 files changed, 517 insertions(+), 351 deletions(-)
 create mode 100644 tests/qapi-schema/flat-union-allow-flat.err
 create mode 100644 tests/qapi-schema/flat-union-allow-flat.json
 create mode 100644 tests/qapi-schema/flat-union-allow-flat.out
 create mode 100644 tests/qapi-schema/union-allow-flat-bad.err
 create mode 100644 tests/qapi-schema/union-allow-flat-bad.json
 create mode 100644 tests/qapi-schema/union-allow-flat-bad.out
 create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.err
 create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.json
 create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.out
 create mode 100644 tests/qapi-schema/union-clash-member-data.err
 create mode 100644 tests/qapi-schema/union-clash-member-data.json
 create mode 100644 tests/qapi-schema/union-clash-member-data.out
 create mode 100644 tests/qapi-schema/union-clash-member-type.err
 create mode 100644 tests/qapi-schema/union-clash-member-type.json
 create mode 100644 tests/qapi-schema/union-clash-member-type.out

-- 
2.28.0