This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH V5 0/3] Introduce a QMP client
From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Mon, 27 Jun 2011 16:12:28 +0100
Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Delivery-date: Mon, 27 Jun 2011 08:17:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
  - 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