Re: [Qemu-devel] [PATCH v15 00/23] qapi visitor cleanups (post-introspection cleanups subset E)

2016-04-28 Thread Markus Armbruster
Eric Blake  writes:

> 2.7 material; hopefully this iteration is close enough for
> Markus to stick it in his qapi-next staging branch, so we
> can move on to my other pending series.
>
> Based on master, with no prerequisite patches.
>
> Also available as a tag at this location:
> git fetch git://repo.or.cz/qemu/ericb.git qapi-cleanupv15e
>
> and will soon be part of my branch with the rest of the v5 series, at:
> http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi
>
> v14 was:
> https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg01486.html
>
> Since then, I've rearranged several patches (including moving hunks
> between patches), added a couple of new ones, and in general
> addressed a lot of Markus' findings.  The comparison to the previous
> posting looks rather big, but a lot of it is due to comment changes
> or rebase artifacts from shuffling things around, where a lot of
> the end results are still the same.

More churn than I hoped, but I think we're converging anyway.  Eric,
would you like me to investigate whether I can touch it up in my tree?
I guess a full respin would be easier and cleaner.  Should be the last
one.



[Qemu-devel] [PATCH v15 00/23] qapi visitor cleanups (post-introspection cleanups subset E)

2016-04-27 Thread Eric Blake
2.7 material; hopefully this iteration is close enough for
Markus to stick it in his qapi-next staging branch, so we
can move on to my other pending series.

Based on master, with no prerequisite patches.

Also available as a tag at this location:
git fetch git://repo.or.cz/qemu/ericb.git qapi-cleanupv15e

and will soon be part of my branch with the rest of the v5 series, at:
http://repo.or.cz/qemu/ericb.git/shortlog/refs/heads/qapi

v14 was:
https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg01486.html

Since then, I've rearranged several patches (including moving hunks
between patches), added a couple of new ones, and in general
addressed a lot of Markus' findings.  The comparison to the previous
posting looks rather big, but a lot of it is due to comment changes
or rebase artifacts from shuffling things around, where a lot of
the end results are still the same.

001/23:[0024] [FC] 'qapi-visit: Add visitor.type classification'
002/23:[0036] [FC] 'qapi: Guarantee NULL obj on input visitor callback error'
003/23:[] [--] 'qmp: Drop dead command->type'
004/23:[0019] [FC] 'qmp-input: Clean up stack handling'
005/23:[down] 'qapi: Use strict QMP input visitor in more places'
006/23:[0007] [FC] 'qmp-input: Don't consume input when checking has_member'
007/23:[0014] [FC] 'qapi-commands: Wrap argument visit in visit_start_struct'
008/23:[down] 'monitor: Let generated code validate arguments'
009/23:[0005] [FC] 'qom: Wrap prop visit in visit_start_struct'
010/23:[0052] [FC] 'qmp-input: Require struct push to visit members of top dict'
011/23:[0032] [FC] 'qmp-input: Refactor when list is advanced'
012/23:[0253] [FC] 'qapi: Document visitor interfaces, add assertions'
013/23:[0006] [FC] 'tests: Add check-qnull'
014/23:[0026] [FC] 'qapi: Add visit_type_null() visitor'
015/23:[0046] [FC] 'qmp: Support explicit null during visits'
016/23:[] [--] 'spapr_drc: Expose 'null' in qom-get when there is no fdt'
017/23:[down] 'qmp: Add qmp_output_visitor_reset()'
018/23:[0024] [FC] 'qmp: Tighten output visitor rules'
019/23:[0040] [FC] 'qapi: Split visit_end_struct() into pieces'
020/23:[down] 'tests/string-input-visitor: Add negative integer tests'
021/23:[down] 'qapi: Fix string input visitor handling of invalid list'
022/23:[0082] [FC] 'qapi: Simplify semantics of visit_next_list()'
023/23:[0108] [FC] 'qapi: Change visit_type_FOO() to no longer return partial 
objects'

Eric Blake (22):
  qapi-visit: Add visitor.type classification
  qapi: Guarantee NULL obj on input visitor callback error
  qmp: Drop dead command->type
  qmp-input: Clean up stack handling
  qapi: Use strict QMP input visitor in more places
  qmp-input: Don't consume input when checking has_member
  qapi-commands: Wrap argument visit in visit_start_struct
  monitor: Let generated code validate arguments
  qom: Wrap prop visit in visit_start_struct
  qmp-input: Require struct push to visit members of top dict
  qmp-input: Refactor when list is advanced
  qapi: Document visitor interfaces, add assertions
  tests: Add check-qnull
  qapi: Add visit_type_null() visitor
  qmp: Support explicit null during visits
  spapr_drc: Expose 'null' in qom-get when there is no fdt
  qmp: Add qmp_output_visitor_reset()
  qmp: Tighten output visitor rules
  qapi: Split visit_end_struct() into pieces
  qapi: Fix string input visitor handling of invalid list
  qapi: Simplify semantics of visit_next_list()
  qapi: Change visit_type_FOO() to no longer return partial objects

Markus Armbruster (1):
  tests/string-input-visitor: Add negative integer tests

 include/qapi/visitor.h   | 492 +--
 include/qapi/visitor-impl.h  |  81 --
 scripts/qapi-commands.py |  20 +-
 scripts/qapi-event.py|   5 +-
 scripts/qapi-visit.py|  53 ++--
 include/qapi/dealloc-visitor.h   |   5 +
 include/qapi/opts-visitor.h  |   5 +
 include/qapi/qmp-input-visitor.h |   9 +-
 include/qapi/qmp-output-visitor.h|   1 +
 include/qapi/qmp/dispatch.h  |   6 -
 include/qapi/string-input-visitor.h  |   5 +
 include/qapi/string-output-visitor.h |   5 +
 qapi/qapi-visit-core.c   | 106 ++--
 block/crypto.c   |  14 +-
 hw/ppc/spapr_drc.c   |  11 +-
 hw/virtio/virtio-balloon.c   |  15 +-
 monitor.c|   4 +
 qapi/opts-visitor.c  |  70 ++---
 qapi/qapi-dealloc-visitor.c  |  43 +--
 qapi/qmp-dispatch.c  |  18 +-
 qapi/qmp-input-visitor.c | 189 --
 qapi/qmp-output-visitor.c|  71 ++---
 qapi/qmp-registry.c  |   1 -
 qapi/string-input-visitor.c  |  51 ++--
 qapi/string-output-visitor.c |  43 ++-
 qmp.c|   2 +-
 qom/object.c |   5 +-
 qom/object_interfaces.c  |  33 ++-
 qom/qom-qobject.c|   3 +-