|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH V5 0/3] Introduce a QMP client
New:
- Add a separate patch for XEN_RUN_DIR path.
- Add a new patch to generate an some internal type with gentypes.py. It's
used only to have a ENUM <-> String convertion with the QMP client.
- libxl_qmp.h content have been moved to libxl_internal.h
- return value of every single alloc are now check
- introduce some DEBUG_GEN_* macro to avoid some #ifdefs
- remove unused exported function: libxL__qmp_next libxl__qmp_send_command
- introduce libxl__qmp_query_serial and store all serial port chardev in
xenstore.
- introduce json_object_{get,is}_* inline functions.
- coding style fixed
Change v3->v4:
- In case of a timeout, there is no more infinit loop
- include select bit in the qmp_next function, to avoid have it twice in the
code.
- introduce libxl__qmp_cleanup to remove the socket file. It's called from
libxl_domain_destroy when a dm is present.
- libxl__qmp_get_fd is removed as is not yet used.
- qmp_connect renamed to qmp_open
- I'm not skip anymore the CRLF a the end of a command. So there will always
be another turn in the loop to eat them.
- fix coding style issue related to struct definitions.
- the receive buffer is now include in the qmp_handler struct to avoid an
extra alloc.
- in struct json_object, rename floating to fp.
- introduce yajl_gen_asciiz that take a string nul-terminated and give it to
yajl_gen_string.
- use "-chardev ... -mon ..." qemu option instead of -qmp "..."
Change v2->v3:
- Use of a timeout when wait for a reply from the server.
- Use of a command list, a list of pair "command" + callback. It's associated
with an enum.
- Introduce libxl__qmp_initializations that will ask of all informations need
through QMP. (It's just a rename of libxl__qmp_get_serial_console_path from
the previous patch.)
Change v1->v2:
- Introduction of libxl_run_dir_path(), should maybe be in another patch.
- Add a new static function qmp_synchronous_send that wait the answer from
the server.
- QMP is know use only inside libxl, so only one command is send through the
socket and after, the connection is closed.
Anthony PERARD (3):
Introduce XEN_RUN_DIR path.
libxl: Introduce libxl_internal_types.idl.
libxl, Introduce a QMP client
Config.mk | 1 +
config/StdGNU.mk | 2 +
tools/libxl/Makefile | 14 +-
tools/libxl/gentypes.py | 15 +-
tools/libxl/libxl.c | 2 +
tools/libxl/libxl.h | 1 +
tools/libxl/libxl_create.c | 3 +
tools/libxl/libxl_dm.c | 9 +
tools/libxl/libxl_internal.h | 19 +
tools/libxl/libxl_internal_types.idl | 10 +
tools/libxl/libxl_paths.c | 5 +
tools/libxl/libxl_qmp.c | 1116 ++++++++++++++++++++++++++++++++++
12 files changed, 1189 insertions(+), 8 deletions(-)
create mode 100644 tools/libxl/libxl_internal_types.idl
create mode 100644 tools/libxl/libxl_qmp.c
--
1.7.2.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|