[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/18] monitor: various code simplification and f
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v2 00/18] monitor: various code simplification and fixes |
Date: |
Thu, 19 Jul 2018 20:40:53 +0200 |
Hi,
This series is a rebased subset of "[PATCH v3 00/38] RFC: monitor: add
asynchronous command type" with code cleanups and improvements that
are worth to consider for 3.0.
The series applies on master, and will conflict with the pending
series "[PATCH 0/9] monitor: enable OOB by default" from Peter.
In particular, reverting "qmp: isolate responses into io thread" is
quite intrusive, but is a nice simplification that is worth to
consider before modifying/maintaining it further. Also, "monitor: no
need to save need_resume" could be dropped if Peter "[PATCH 5/9]
monitor: suspend monitor instead of send CMD_DROP" is adopted (see
discussion about need_resume there).
The last patch, "RFC: qmp: rework 'id' handling" simplifies a bit
monitor "id" handling, and makes qemu-ga conform to the QMP
specification by copying "id" from the request in the reply. This is
the opposite to Markus change "qmp qemu-ga: Revert change that
accidentally made qemu-ga accept 'id'".
(the first patch is already in Markus qapi-next branch, it is there
for patchew testing)
I would suggest the following patches for 3.0:
- monitor: consitify qmp_send_response() QDict argument
- qmp: constify qmp_is_oob()
- qga: process_event() simplification and leak fix
- qmp: drop json_parser_parse() wrapper
- json-parser: simplify and avoid JSONParserContext allocation
- json-parser: further simplify freeing JSONParserContext
- qjson: report an error if there are multiple results
- qjson: report error on unterminated string
- qjson: return parsing error if unterminated input
- json-parser: set an error if parsing returned NULL
- tests: add a qmp success-response test
- qga: process_event() simplification
(they apply cleanly when cherry-picked, the remaining cleanups could be
defered after the release)
v2:
- add a code comment about need_resume variable
- update "qga: process_event() simplification" patch with req/rsp
variables
- add "qmp: drop json_parser_parse()" patch
- add JSONParserContext allocation simplification patches
- add "qjson: report an error if there are multiple results"
- add "qjson: report error on unterminated string"
- add "qjson: return parsing error if unterminated input"
- document json_parser_parse() return behaviour
- add r-b tags
Marc-André Lureau (18):
tests: change /0.15/* tests to /qmp/*
monitor: consitify qmp_send_response() QDict argument
qmp: constify qmp_is_oob()
Revert "qmp: isolate responses into io thread"
monitor: no need to save need_resume
qga: process_event() simplification and leak fix
qmp: drop json_parser_parse() wrapper
json-parser: simplify and avoid JSONParserContext allocation
json-parser: further simplify freeing JSONParserContext
qjson: report an error if there are multiple results
qjson: report error on unterminated string
qjson: return parsing error if unterminated input
json-parser: set an error if parsing returned NULL
json-lexer: make it safe to call multiple times
tests: add a few qemu-qmp tests
tests: add a qmp success-response test
qga: process_event() simplification
RFC: qmp: common 'id' handling & make QGA conform to QMP spec
include/qapi/qmp/dispatch.h | 2 +-
include/qapi/qmp/json-parser.h | 3 +-
block.c | 5 -
monitor.c | 173 +++---------------------
qapi/qmp-dispatch.c | 14 +-
qapi/qobject-input-visitor.c | 5 -
qga/main.c | 66 +++------
qobject/json-lexer.c | 5 +-
qobject/json-parser.c | 59 +++-----
qobject/json-streamer.c | 4 +-
qobject/qjson.c | 24 +++-
tests/check-qjson.c | 25 +++-
tests/libqtest.c | 2 +-
tests/qmp-test.c | 38 ++++++
tests/test-qga.c | 13 +-
tests/test-qmp-cmds.c | 27 +++-
tests/qapi-schema/qapi-schema-test.json | 2 +
tests/qapi-schema/qapi-schema-test.out | 2 +
18 files changed, 190 insertions(+), 279 deletions(-)
--
2.18.0.129.ge3331758f1
- [Qemu-devel] [PATCH v2 00/18] monitor: various code simplification and fixes,
Marc-André Lureau <=
- [Qemu-devel] [PATCH v2 03/18] qmp: constify qmp_is_oob(), Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 01/18] tests: change /0.15/* tests to /qmp/*, Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 02/18] monitor: consitify qmp_send_response() QDict argument, Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 04/18] Revert "qmp: isolate responses into io thread", Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 05/18] monitor: no need to save need_resume, Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 11/18] qjson: report error on unterminated string, Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 08/18] json-parser: simplify and avoid JSONParserContext allocation, Marc-André Lureau, 2018/07/19
- [Qemu-devel] [PATCH v2 10/18] qjson: report an error if there are multiple results, Marc-André Lureau, 2018/07/19