[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH V5 0/3] Introduce a QMP client

  - 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
  - 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
  - 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
  - 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


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.