Re: [Qemu-devel] [PATCH v15 00/23] qapi visitor cleanups (post-introspection cleanups subset E)
Eric Blakewrites: > 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)
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 +-