[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 00/12] post-introspection cleanups, subset B
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH v6 00/12] post-introspection cleanups, subset B |
Date: |
Thu, 1 Oct 2015 22:31:40 -0600 |
Pending prerequisite: Markus' qapi-next branch (which has my
subset A patches):
git://repo.or.cz/qemu/armbru.git qapi-next
http://thread.gmane.org/gmane.comp.emulators.qemu/365827/focus=366351
Also available as a tag at this location:
git fetch git://repo.or.cz/qemu/ericb.git qapi-cleanupv6b
and I plan to eventually forcefully update my branch with the rest
of the v5 series, at:
http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi
v6 notes: This is patches 11-16 of my v5 series; it has grown a bit
with splitting some patches and adding some others. I suspect that
12/12 on this series will be discarded, but am including it because
it was split from v5 content.
Not much review comments other than on the original 11/46, but there
is enough churn due to rebasing that it's now easier to review this
version than plowing through v5.
Subset C (and more?) will come later.
001/12:[down] 'qapi: Use predicate callback to determine visit filtering'
002/12:[0043] [FC] 'qapi: Don't use info as witness of implicit object type'
003/12:[down] 'qapi: Lazy creation of array types'
004/12:[down] 'qapi: Create simple union type member earlier'
005/12:[0028] [FC] 'qapi: Track location that created an implicit type'
006/12:[0051] [FC] 'qapi: Track owner of each object member'
007/12:[0031] [FC] 'qapi: Detect collisions in C member names'
008/12:[0035] [FC] 'qapi: Defer duplicate member checks to schema check()'
009/12:[down] 'qapi: Defer duplicate enum value checks to schema check()'
010/12:[down] 'qapi: Correct error for union branch 'kind' clash'
011/12:[0002] [FC] 'qapi: Detect base class loops'
012/12:[down] 'RFC: qapi: Hide _info member'
In v5:
https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg05410.html
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.
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 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 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
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
Eric Blake (12):
qapi: Use predicate callback to determine visit filtering
qapi: Don't use info as witness of implicit object type
qapi: Lazy creation of array types
qapi: Create simple union type member earlier
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: Defer duplicate enum value checks to schema check()
qapi: Correct error for union branch 'kind' clash
qapi: Detect base class loops
RFC: qapi: Hide _info member
qapi-schema.json | 10 +
scripts/qapi-introspect.py | 5 +-
scripts/qapi-types.py | 19 +-
scripts/qapi-visit.py | 17 +-
scripts/qapi.py | 300 +++++++++++----------
tests/Makefile | 5 +-
tests/qapi-schema/alternate-clash-members.err | 1 +
...ad-branch.exit => alternate-clash-members.exit} | 0
...ate-clash.json => alternate-clash-members.json} | 0
...-bad-branch.out => alternate-clash-members.out} | 0
tests/qapi-schema/alternate-clash-type.err | 1 +
...ernate-clash.exit => alternate-clash-type.exit} | 0
tests/qapi-schema/alternate-clash-type.json | 10 +
...lternate-clash.out => alternate-clash-type.out} | 0
tests/qapi-schema/alternate-clash.err | 1 -
tests/qapi-schema/args-name-clash.err | 1 +
tests/qapi-schema/args-name-clash.exit | 2 +-
tests/qapi-schema/args-name-clash.json | 6 +-
tests/qapi-schema/args-name-clash.out | 6 -
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/enum-clash-member.err | 2 +-
tests/qapi-schema/enum-max-member.err | 2 +-
tests/qapi-schema/flat-union-clash-branch.err | 1 +
tests/qapi-schema/flat-union-clash-branch.exit | 2 +-
tests/qapi-schema/flat-union-clash-branch.json | 9 +-
tests/qapi-schema/flat-union-clash-branch.out | 14 -
tests/qapi-schema/flat-union-clash-member.err | 2 +-
tests/qapi-schema/flat-union-clash-type.err | 2 +-
tests/qapi-schema/qapi-schema-test.json | 4 +
tests/qapi-schema/qapi-schema-test.out | 3 +
tests/qapi-schema/struct-base-clash-deep.err | 2 +-
tests/qapi-schema/struct-base-clash.err | 2 +-
tests/qapi-schema/union-bad-branch.err | 1 -
tests/qapi-schema/union-bad-branch.json | 8 -
tests/qapi-schema/union-clash-branches.err | 2 +-
tests/qapi-schema/union-clash-type.err | 2 +-
tests/qapi-schema/union-max.err | 2 +-
40 files changed, 245 insertions(+), 204 deletions(-)
create mode 100644 tests/qapi-schema/alternate-clash-members.err
rename tests/qapi-schema/{union-bad-branch.exit =>
alternate-clash-members.exit} (100%)
rename tests/qapi-schema/{alternate-clash.json =>
alternate-clash-members.json} (100%)
rename tests/qapi-schema/{union-bad-branch.out => alternate-clash-members.out}
(100%)
create mode 100644 tests/qapi-schema/alternate-clash-type.err
rename tests/qapi-schema/{alternate-clash.exit => alternate-clash-type.exit}
(100%)
create mode 100644 tests/qapi-schema/alternate-clash-type.json
rename tests/qapi-schema/{alternate-clash.out => alternate-clash-type.out}
(100%)
delete mode 100644 tests/qapi-schema/alternate-clash.err
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/union-bad-branch.err
delete mode 100644 tests/qapi-schema/union-bad-branch.json
--
2.4.3
- [Qemu-devel] [PATCH v6 00/12] post-introspection cleanups, subset B,
Eric Blake <=
[Qemu-devel] [PATCH v6 06/12] qapi: Track owner of each object member, Eric Blake, 2015/10/08