qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, DirtY.iCE.hu@gmail.com,
	armbru@redhat.com, ehabkost@redhat.com
Subject: [Qemu-devel] [PATCH v5 00/46] post-introspection cleanups, and qapi-ify netdev_add
Date: Mon, 21 Sep 2015 15:57:16 -0600	[thread overview]
Message-ID: <1442872682-6523-1-git-send-email-eblake@redhat.com> (raw)

No longer RFC, but depends on Markus' pull-qapi-2015-09-21 tag
(https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg05257.html)
which had not been merged as of this email.

Also available at this location (although I may rebase it):
git fetch git://repo.or.cz/qemu/ericb.git qapi
http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi

v1 was here:
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05266.html
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05325.html

In v2:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg00900.html
rebase to Markus' v3 series
rework how comments are emitted for fields inherited from base
additional patches added for deleting colliding 'void *data'
documentation updates to match code changes

In v3:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg02059.html
redo cleanup of dealloc of partial struct
add patches to make all visit_type_*() avoid leaks on failure
add patches to allow boxed command arguments and events

In v4:
https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg02580.html
add some more clean up patches
rebase to Markus' recent work
pull in part of Zoltán's work to make netdev_add a flat union,
further enhancing it to be introspectible

I might be able to rearrange some of these patches, or separate
it into smaller independent series, if requested; but I'm
posting now to get review started.

In v5:
I _did_ rearrange patches to try and group related features:

1-2: Groundwork cleanups
3-5: Add more test cases
6-16: Front-end cleanups
17-18: Introspection output cleanups
19-20: 'alternate' type cleanups
21-29: qapi visitor cleanups
30-45: qapi-ify netdev_add
46: add qapi shorthand for flat unions

Lots of fixes based on additional testing, and rebased to
track other changes that happened in the meantime.  The series
is huge; I can split off smaller portions as requested.

Although v1-v4 didn't get much review, here's a backport-diff
to v4 in case it proves useful.

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/46:[down] 'qapi: Sort qapi-schema tests'
002/46:[0006] [FC] 'qapi: Clean up qapi.py per pep8'
003/46:[down] 'qapi: Test for C member name collisions'
004/46:[0006] [FC] 'qapi: Add tests for empty unions'
005/46:[0018] [FC] 'qapi: Test use of 'number' within alternates'
006/46:[down] 'qapi: Improve 'include' error message'
007/46:[----] [-C] 'qapi: Don't pass pre-existing error to later call'
008/46:[down] 'qapi: Reuse code for flat union base validation'
009/46:[0126] [FC] 'qapi: Use consistent generated code patterns'
010/46:[down] 'qapi: Merge generation of per-member visits'
011/46:[down] 'qapi: Don't use info as witness of implicit object type'
012/46:[down] 'qapi: Track location that created an implicit type'
013/46:[down] 'qapi: Track owner of each object member'
014/46:[down] 'qapi: Detect collisions in C member names'
015/46:[down] 'qapi: Defer duplicate member checks to schema check()'
016/46:[down] 'qapi: Detect base class loops'
017/46:[----] [--] 'qapi: Provide nicer array names in introspection'
018/46:[down] 'qapi-introspect: Guarantee particular sorting'
019/46:[0053] [FC] 'qapi: Simplify visiting of alternate types'
020/46:[0005] [FC] 'qapi: Fix alternates that accept 'number' but not 'int''
021/46:[down] 'qmp: Fix reference-counting of qnull on empty output visit'
022/46:[down] 'qapi: Don't abuse stack to track qmp-output root'
023/46:[0007] [FC] 'qapi: Remove dead visitor code'
024/46:[0024] [FC] 'qapi: Document visitor interfaces'
025/46:[----] [--] 'qapi: Plug leaks in test-qmp-input-visitor'
026/46:[----] [-C] 'qapi: Test failure in middle of array parse'
027/46:[down] 'qapi: Simplify visits of optional fields'
028/46:[0023] [FC] 'qapi: Rework deallocation of partial struct'
029/46:[0016] [FC] 'qapi: Change visit_type_FOO() to no longer return partial objects'
030/46:[----] [--] 'net: use Netdev instead of NetClientOptions in client init'
031/46:[0018] [FC] 'qapi: use 'type' in generated C code to match QMP union wire form'
032/46:[0008] [FC] 'qapi: Hide tag_name data member of variants'
033/46:[----] [--] 'vnc: hoist allocation of VncBasicInfo to callers'
034/46:[0022] [FC] 'qapi: Unbox base members'
035/46:[0024] [FC] 'qapi-visit: Remove redundant functions for flat union base'
036/46:[----] [--] 'qapi: Avoid use of 'data' member of qapi unions'
037/46:[0002] [FC] 'qapi: Forbid empty unions and useless alternates'
038/46:[0012] [FC] 'qapi: Drop useless 'data' member of unions'
039/46:[0083] [FC] 'qapi: Plumb in 'box' to qapi generator lower levels'
040/46:[0010] [FC] 'qapi: Implement boxed structs for commands/events'
041/46:[0008] [FC] 'qapi: Support boxed unions'
042/46:[down] 'qapi: support implicit structs in OptsVisitor'
043/46:[----] [-C] 'qapi: Change Netdev into a flat union'
044/46:[----] [--] 'net: Use correct type for bool flag'
045/46:[----] [--] 'net: Complete qapi-fication of netdev_add'
046/46:[down] 'qapi: Allow anonymous base for flat union'

Eric Blake (43):
  qapi: Sort qapi-schema tests
  qapi: Clean up qapi.py per pep8
  qapi: Test for C member name collisions
  qapi: Add tests for empty unions
  qapi: Test use of 'number' within alternates
  qapi: Improve 'include' error message
  qapi: Don't pass pre-existing error to later call
  qapi: Reuse code for flat union base validation
  qapi: Use consistent generated code patterns
  qapi: Merge generation of per-member visits
  qapi: Don't use info as witness of implicit object type
  qapi: Track location that created an implicit type
  qapi: Track owner of each object member
  qapi: Detect collisions in C member names
  qapi: Defer duplicate member checks to schema check()
  qapi: Detect base class loops
  qapi: Provide nicer array names in introspection
  qapi-introspect: Guarantee particular sorting
  qapi: Simplify visiting of alternate types
  qapi: Fix alternates that accept 'number' but not 'int'
  qmp: Fix reference-counting of qnull on empty output visit
  qapi: Don't abuse stack to track qmp-output root
  qapi: Remove dead visitor code
  qapi: Document visitor interfaces
  qapi: Plug leaks in test-qmp-input-visitor
  qapi: Test failure in middle of array parse
  qapi: Simplify visits of optional fields
  qapi: Rework deallocation of partial struct
  qapi: Change visit_type_FOO() to no longer return partial objects
  qapi: use 'type' in generated C code to match QMP union wire form
  qapi: Hide tag_name data member of variants
  vnc: hoist allocation of VncBasicInfo to callers
  qapi: Unbox base members
  qapi-visit: Remove redundant functions for flat union base
  qapi: Avoid use of 'data' member of qapi unions
  qapi: Forbid empty unions and useless alternates
  qapi: Drop useless 'data' member of unions
  qapi: Plumb in 'box' to qapi generator lower levels
  qapi: Implement boxed structs for commands/events
  qapi: Support boxed unions
  net: Use correct type for bool flag
  net: Complete qapi-fication of netdev_add
  qapi: Allow anonymous base for flat union

Kővágó, Zoltán (3):
  net: use Netdev instead of NetClientOptions in client init
  qapi: support implicit structs in OptsVisitor
  qapi: Change Netdev into a flat union

 block/qcow2.c                                      |   2 +-
 block/vmdk.c                                       |   2 +-
 blockdev.c                                         |  34 +-
 docs/qapi-code-gen.txt                             |  98 ++--
 hmp.c                                              |  18 +-
 hw/arm/musicpal.c                                  |   2 +-
 hw/core/qdev-properties-system.c                   |   2 +-
 hw/input/hid.c                                     |   2 +-
 hw/input/ps2.c                                     |   2 +-
 hw/input/virtio-input-hid.c                        |   2 +-
 hw/mem/pc-dimm.c                                   |   2 +-
 hw/net/allwinner_emac.c                            |   2 +-
 hw/net/cadence_gem.c                               |   2 +-
 hw/net/dp8393x.c                                   |   2 +-
 hw/net/e1000.c                                     |   2 +-
 hw/net/eepro100.c                                  |   2 +-
 hw/net/etraxfs_eth.c                               |   2 +-
 hw/net/fsl_etsec/etsec.c                           |   2 +-
 hw/net/imx_fec.c                                   |   2 +-
 hw/net/lan9118.c                                   |   2 +-
 hw/net/lance.c                                     |   2 +-
 hw/net/mcf_fec.c                                   |   2 +-
 hw/net/milkymist-minimac2.c                        |   2 +-
 hw/net/mipsnet.c                                   |   2 +-
 hw/net/ne2000-isa.c                                |   2 +-
 hw/net/ne2000.c                                    |   2 +-
 hw/net/opencores_eth.c                             |   2 +-
 hw/net/pcnet-pci.c                                 |   2 +-
 hw/net/rocker/rocker_fp.c                          |   2 +-
 hw/net/rtl8139.c                                   |   2 +-
 hw/net/smc91c111.c                                 |   2 +-
 hw/net/spapr_llan.c                                |   2 +-
 hw/net/stellaris_enet.c                            |   2 +-
 hw/net/vhost_net.c                                 |  18 +-
 hw/net/virtio-net.c                                |   6 +-
 hw/net/vmxnet3.c                                   |   2 +-
 hw/net/xen_nic.c                                   |   2 +-
 hw/net/xgmac.c                                     |   2 +-
 hw/net/xilinx_axienet.c                            |   2 +-
 hw/net/xilinx_ethlite.c                            |   2 +-
 hw/usb/dev-network.c                               |   4 +-
 include/net/net.h                                  |   7 +-
 include/qapi/visitor-impl.h                        |  60 ++-
 include/qapi/visitor.h                             | 225 ++++++++-
 monitor.c                                          |  14 +-
 net/clients.h                                      |  20 +-
 net/dump.c                                         |   8 +-
 net/hub.c                                          |  24 +-
 net/l2tpv3.c                                       |   8 +-
 net/net.c                                          | 180 +++----
 net/netmap.c                                       |   6 +-
 net/slirp.c                                        |   8 +-
 net/socket.c                                       |  10 +-
 net/tap-win32.c                                    |   8 +-
 net/tap.c                                          |  28 +-
 net/vde.c                                          |   8 +-
 net/vhost-user.c                                   |  14 +-
 numa.c                                             |   4 +-
 qapi-schema.json                                   |  72 ++-
 qapi/introspect.json                               |  22 +-
 qapi/opts-visitor.c                                |  17 +-
 qapi/qapi-dealloc-visitor.c                        |  26 -
 qapi/qapi-visit-core.c                             | 164 +++----
 qapi/qmp-input-visitor.c                           |  11 +-
 qapi/qmp-output-visitor.c                          |  70 +--
 qapi/string-input-visitor.c                        |   3 +-
 qemu-char.c                                        |  24 +-
 qmp-commands.hx                                    |   2 +-
 scripts/qapi-commands.py                           | 123 +++--
 scripts/qapi-event.py                              |  92 ++--
 scripts/qapi-introspect.py                         |  21 +-
 scripts/qapi-types.py                              |  86 +---
 scripts/qapi-visit.py                              | 223 +++++----
 scripts/qapi.py                                    | 528 ++++++++++++++-------
 tests/Makefile                                     | 170 +++++--
 tests/qapi-schema/alternate-empty.err              |   1 +
 ...at-union-bad-base.exit => alternate-empty.exit} |   0
 tests/qapi-schema/alternate-empty.json             |   2 +
 ...flat-union-bad-base.out => alternate-empty.out} |   0
 tests/qapi-schema/alternate-good.out               |   1 -
 tests/qapi-schema/alternate-nested.json            |   2 +-
 tests/qapi-schema/alternate-unknown.json           |   2 +-
 tests/qapi-schema/args-bad-box.err                 |   1 +
 tests/qapi-schema/args-bad-box.exit                |   1 +
 tests/qapi-schema/args-bad-box.json                |   2 +
 tests/qapi-schema/args-bad-box.out                 |   0
 tests/qapi-schema/args-box-anon.err                |   1 +
 tests/qapi-schema/args-box-anon.exit               |   1 +
 tests/qapi-schema/args-box-anon.json               |   2 +
 tests/qapi-schema/args-box-anon.out                |   0
 tests/qapi-schema/args-box-empty.err               |   1 +
 tests/qapi-schema/args-box-empty.exit              |   1 +
 tests/qapi-schema/args-box-empty.json              |   2 +
 tests/qapi-schema/args-box-empty.out               |   0
 tests/qapi-schema/args-member-array.out            |   2 +-
 tests/qapi-schema/args-name-clash.err              |   1 +
 tests/qapi-schema/args-name-clash.exit             |   1 +
 tests/qapi-schema/args-name-clash.json             |   2 +
 tests/qapi-schema/args-name-clash.out              |   0
 tests/qapi-schema/args-union.err                   |   2 +-
 tests/qapi-schema/args-union.json                  |   3 +-
 tests/qapi-schema/base-cycle.err                   |   1 +
 tests/qapi-schema/base-cycle.exit                  |   1 +
 tests/qapi-schema/base-cycle.json                  |   3 +
 tests/qapi-schema/base-cycle.out                   |   0
 tests/qapi-schema/event-case.out                   |   1 +
 tests/qapi-schema/flat-union-bad-base.err          |   1 -
 tests/qapi-schema/flat-union-bad-base.json         |  13 -
 tests/qapi-schema/flat-union-base-any.err          |   2 +-
 tests/qapi-schema/flat-union-base-union.err        |   2 +-
 tests/qapi-schema/flat-union-branch-clash.err      |   2 +-
 tests/qapi-schema/flat-union-branch-clash.json     |   2 +-
 tests/qapi-schema/flat-union-branch-clash2.err     |   1 +
 tests/qapi-schema/flat-union-branch-clash2.exit    |   1 +
 tests/qapi-schema/flat-union-branch-clash2.json    |  14 +
 tests/qapi-schema/flat-union-branch-clash2.out     |   0
 tests/qapi-schema/flat-union-cycle.err             |   1 +
 tests/qapi-schema/flat-union-cycle.exit            |   1 +
 tests/qapi-schema/flat-union-cycle.json            |   6 +
 tests/qapi-schema/flat-union-cycle.out             |   0
 tests/qapi-schema/flat-union-empty.err             |   1 +
 tests/qapi-schema/flat-union-empty.exit            |   1 +
 tests/qapi-schema/flat-union-empty.json            |   4 +
 tests/qapi-schema/flat-union-empty.out             |   0
 tests/qapi-schema/flat-union-inline.err            |   2 +-
 tests/qapi-schema/flat-union-inline.json           |   4 +-
 tests/qapi-schema/flat-union-no-base.err           |   2 +-
 tests/qapi-schema/ident-with-escape.out            |   2 +-
 tests/qapi-schema/include-non-file.err             |   2 +-
 tests/qapi-schema/include-non-file.json            |   2 +-
 tests/qapi-schema/indented-expr.out                |   4 +-
 tests/qapi-schema/qapi-schema-test.json            |  25 +-
 tests/qapi-schema/qapi-schema-test.out             |  59 ++-
 tests/qapi-schema/returns-int.out                  |   2 +-
 tests/qapi-schema/struct-base-clash-deep.err       |   2 +-
 tests/qapi-schema/struct-base-clash.err            |   2 +-
 tests/qapi-schema/test-qapi.py                     |  14 +-
 tests/qapi-schema/union-clash.err                  |   1 +
 tests/qapi-schema/union-clash.exit                 |   1 +
 tests/qapi-schema/union-clash.json                 |   3 +
 tests/qapi-schema/union-clash.out                  |   0
 tests/qapi-schema/union-empty.err                  |   1 +
 tests/qapi-schema/union-empty.exit                 |   1 +
 tests/qapi-schema/union-empty.json                 |   2 +
 tests/qapi-schema/union-empty.out                  |   0
 tests/qapi-schema/union-invalid-base.err           |   2 +-
 tests/test-qmp-commands.c                          |  40 +-
 tests/test-qmp-event.c                             |   8 +-
 tests/test-qmp-input-visitor.c                     | 198 +++++++-
 tests/test-qmp-output-visitor.c                    |  41 +-
 tests/test-visitor-serialization.c                 |  14 +-
 tpm.c                                              |   2 +-
 ui/input-keymap.c                                  |  10 +-
 ui/input-legacy.c                                  |   2 +-
 ui/input.c                                         |  24 +-
 ui/spice-core.c                                    |  23 +-
 ui/vnc.c                                           |  64 +--
 util/qemu-sockets.c                                |  12 +-
 158 files changed, 1945 insertions(+), 1249 deletions(-)
 create mode 100644 tests/qapi-schema/alternate-empty.err
 rename tests/qapi-schema/{flat-union-bad-base.exit => alternate-empty.exit} (100%)
 create mode 100644 tests/qapi-schema/alternate-empty.json
 rename tests/qapi-schema/{flat-union-bad-base.out => alternate-empty.out} (100%)
 create mode 100644 tests/qapi-schema/args-bad-box.err
 create mode 100644 tests/qapi-schema/args-bad-box.exit
 create mode 100644 tests/qapi-schema/args-bad-box.json
 create mode 100644 tests/qapi-schema/args-bad-box.out
 create mode 100644 tests/qapi-schema/args-box-anon.err
 create mode 100644 tests/qapi-schema/args-box-anon.exit
 create mode 100644 tests/qapi-schema/args-box-anon.json
 create mode 100644 tests/qapi-schema/args-box-anon.out
 create mode 100644 tests/qapi-schema/args-box-empty.err
 create mode 100644 tests/qapi-schema/args-box-empty.exit
 create mode 100644 tests/qapi-schema/args-box-empty.json
 create mode 100644 tests/qapi-schema/args-box-empty.out
 create mode 100644 tests/qapi-schema/args-name-clash.err
 create mode 100644 tests/qapi-schema/args-name-clash.exit
 create mode 100644 tests/qapi-schema/args-name-clash.json
 create mode 100644 tests/qapi-schema/args-name-clash.out
 create mode 100644 tests/qapi-schema/base-cycle.err
 create mode 100644 tests/qapi-schema/base-cycle.exit
 create mode 100644 tests/qapi-schema/base-cycle.json
 create mode 100644 tests/qapi-schema/base-cycle.out
 delete mode 100644 tests/qapi-schema/flat-union-bad-base.err
 delete mode 100644 tests/qapi-schema/flat-union-bad-base.json
 create mode 100644 tests/qapi-schema/flat-union-branch-clash2.err
 create mode 100644 tests/qapi-schema/flat-union-branch-clash2.exit
 create mode 100644 tests/qapi-schema/flat-union-branch-clash2.json
 create mode 100644 tests/qapi-schema/flat-union-branch-clash2.out
 create mode 100644 tests/qapi-schema/flat-union-cycle.err
 create mode 100644 tests/qapi-schema/flat-union-cycle.exit
 create mode 100644 tests/qapi-schema/flat-union-cycle.json
 create mode 100644 tests/qapi-schema/flat-union-cycle.out
 create mode 100644 tests/qapi-schema/flat-union-empty.err
 create mode 100644 tests/qapi-schema/flat-union-empty.exit
 create mode 100644 tests/qapi-schema/flat-union-empty.json
 create mode 100644 tests/qapi-schema/flat-union-empty.out
 create mode 100644 tests/qapi-schema/union-clash.err
 create mode 100644 tests/qapi-schema/union-clash.exit
 create mode 100644 tests/qapi-schema/union-clash.json
 create mode 100644 tests/qapi-schema/union-clash.out
 create mode 100644 tests/qapi-schema/union-empty.err
 create mode 100644 tests/qapi-schema/union-empty.exit
 create mode 100644 tests/qapi-schema/union-empty.json
 create mode 100644 tests/qapi-schema/union-empty.out

-- 
2.4.3

             reply	other threads:[~2015-09-21 21:58 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-21 21:57 Eric Blake [this message]
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 01/46] qapi: Sort qapi-schema tests Eric Blake
2015-09-23 14:26   ` Eric Blake
2015-09-23 15:09     ` Markus Armbruster
2015-09-23 15:19       ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 02/46] qapi: Clean up qapi.py per pep8 Eric Blake
2015-09-22 14:00   ` Markus Armbruster
2015-09-22 14:58     ` Eric Blake
2015-09-23  9:20       ` Markus Armbruster
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 03/46] qapi: Test for C member name collisions Eric Blake
2015-09-22 15:23   ` Markus Armbruster
2015-09-22 17:52     ` Eric Blake
2015-09-23  9:43       ` Markus Armbruster
2015-09-23 12:45         ` Eric Blake
2015-09-23 14:02           ` Markus Armbruster
2015-09-23 14:19             ` Eric Blake
2015-09-23 15:12               ` Markus Armbruster
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 04/46] qapi: Add tests for empty unions Eric Blake
2015-09-24 14:16   ` Markus Armbruster
2015-09-24 15:52     ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 05/46] qapi: Test use of 'number' within alternates Eric Blake
2015-09-24 14:36   ` Markus Armbruster
2015-09-24 16:00     ` Eric Blake
2015-09-24 16:29       ` Markus Armbruster
2015-09-25 22:32         ` Eric Blake
2015-09-28  9:26           ` Markus Armbruster
2015-09-25 22:50         ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 06/46] qapi: Improve 'include' error message Eric Blake
2015-09-24 14:39   ` Markus Armbruster
2015-09-24 16:04     ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 07/46] qapi: Don't pass pre-existing error to later call Eric Blake
2015-09-24 14:58   ` Markus Armbruster
2015-09-24 16:14     ` Eric Blake
2015-09-26 21:05       ` Eric Blake
2015-09-28  9:14         ` Markus Armbruster
2015-10-06 21:10           ` [Qemu-devel] [RFC PATCH] qapi: split visit_end_struct() into pieces Eric Blake
2015-10-07 12:00             ` Markus Armbruster
2015-10-07 13:08               ` Markus Armbruster
2015-10-07 14:57               ` Eric Blake
2015-10-07 15:23                 ` Markus Armbruster
2015-09-26 21:41     ` [Qemu-devel] [PATCH v5 07/46] qapi: Don't pass pre-existing error to later call Eric Blake
2015-09-27  2:26       ` Eric Blake
2015-09-28  9:24       ` Markus Armbruster
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 08/46] qapi: Reuse code for flat union base validation Eric Blake
2015-09-25 16:30   ` Markus Armbruster
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 09/46] qapi: Use consistent generated code patterns Eric Blake
2015-09-25 16:54   ` Markus Armbruster
2015-09-25 19:06     ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 10/46] qapi: Merge generation of per-member visits Eric Blake
2015-09-28  6:17   ` Markus Armbruster
2015-09-28 15:40     ` Eric Blake
2015-09-29  7:37       ` Markus Armbruster
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 11/46] qapi: Don't use info as witness of implicit object type Eric Blake
2015-09-28 12:43   ` Markus Armbruster
2015-09-29  3:58     ` Eric Blake
2015-09-29  7:51       ` Markus Armbruster
2015-09-30  4:13         ` [Qemu-devel] [RFC PATCH] qapi: Use callback to determine visit filtering Eric Blake
2015-10-01  6:12           ` Markus Armbruster
2015-10-01 14:09             ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 12/46] qapi: Track location that created an implicit type Eric Blake
2015-09-28 12:56   ` Markus Armbruster
2015-09-29  4:03     ` Eric Blake
2015-09-29  8:02       ` Markus Armbruster
2015-09-30 16:02         ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 13/46] qapi: Track owner of each object member Eric Blake
2015-09-30 16:06   ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 14/46] qapi: Detect collisions in C member names Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 15/46] qapi: Defer duplicate member checks to schema check() Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 16/46] qapi: Detect base class loops Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 17/46] qapi: Provide nicer array names in introspection Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 18/46] qapi-introspect: Guarantee particular sorting Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 19/46] qapi: Simplify visiting of alternate types Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 20/46] qapi: Fix alternates that accept 'number' but not 'int' Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 21/46] qmp: Fix reference-counting of qnull on empty output visit Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 22/46] qapi: Don't abuse stack to track qmp-output root Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 23/46] qapi: Remove dead visitor code Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 24/46] qapi: Document visitor interfaces Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 25/46] qapi: Plug leaks in test-qmp-input-visitor Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 26/46] qapi: Test failure in middle of array parse Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 27/46] qapi: Simplify visits of optional fields Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 28/46] qapi: Rework deallocation of partial struct Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 29/46] qapi: Change visit_type_FOO() to no longer return partial objects Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 30/46] net: use Netdev instead of NetClientOptions in client init Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 31/46] qapi: use 'type' in generated C code to match QMP union wire form Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 32/46] qapi: Hide tag_name data member of variants Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 33/46] vnc: hoist allocation of VncBasicInfo to callers Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 34/46] qapi: Unbox base members Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 35/46] qapi-visit: Remove redundant functions for flat union base Eric Blake
2015-09-23 20:55   ` Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 36/46] qapi: Avoid use of 'data' member of qapi unions Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 37/46] qapi: Forbid empty unions and useless alternates Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 38/46] qapi: Drop useless 'data' member of unions Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 39/46] qapi: Plumb in 'box' to qapi generator lower levels Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 40/46] qapi: Implement boxed structs for commands/events Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 41/46] qapi: Support boxed unions Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 42/46] qapi: support implicit structs in OptsVisitor Eric Blake
2015-09-21 21:57 ` [Qemu-devel] [PATCH v5 43/46] qapi: Change Netdev into a flat union Eric Blake
2015-09-21 21:58 ` [Qemu-devel] [PATCH v5 44/46] net: Use correct type for bool flag Eric Blake
2015-09-21 21:58 ` [Qemu-devel] [PATCH v5 45/46] net: Complete qapi-fication of netdev_add Eric Blake
2015-09-23 15:40   ` Paolo Bonzini
2015-09-23 16:37     ` Eric Blake
2015-09-25 16:48       ` Paolo Bonzini
2015-09-28  9:31         ` Markus Armbruster
2015-09-28 11:29           ` Paolo Bonzini
2015-09-21 21:58 ` [Qemu-devel] [PATCH v5 46/46] qapi: Allow anonymous base for flat union Eric Blake
2015-09-23 20:59   ` Eric Blake
2015-09-28 13:07 ` [Qemu-devel] [PATCH v5 00/46] post-introspection cleanups, and qapi-ify netdev_add Markus Armbruster
2015-09-29  3:43   ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1442872682-6523-1-git-send-email-eblake@redhat.com \
    --to=eblake@redhat.com \
    --cc=DirtY.iCE.hu@gmail.com \
    --cc=armbru@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).