From: Wei Liu <wei.liu2@citrix.com>
To: xen-devel@lists.xen.org
Cc: Wei Liu <wei.liu2@citrix.com>,
ian.jackson@eu.citrix.com, ian.campbell@citrix.com
Subject: [PATCH V3 00/13] JSON infrastructure and new "xl-json" format
Date: Wed, 23 Apr 2014 17:59:10 +0100 [thread overview]
Message-ID: <1398272363-12133-1-git-send-email-wei.liu2@citrix.com> (raw)
This series contains my original patches to add in JSON parser and a new patch
to add "xl-json" format. The last patch makes use of JSON parser.
The first few patches are bug fix, documentation improvement and prerequisit
code movement.
For the JSON parser (taken from my earlier email):
Libxl introduced JSON infrastructure to communicate with upstream QEMU. The
ability of exisiting JSON infrastructure is to convert libxl_FOO struct to
libxl JSON object and parse JSON object (string) returned by QEMU.
This series makes libxl able to convert a JSON string to libxl_FOO struct.
The conversion is done in two macro steps:
1. convert JSON string to libxl JSON object (libxl__json_object)
2. convert libxl JSON object to libxl_FOO struct
The first stage is done with existing infrastructure. This series focuses on
the second stage.
Now we have the ability to do the following transformation:
libxl_FOO struct -> libxl_FOO JSON object -> libxl JSON internal object ->
libxl_FOO struct
This full cycle can be used to preserved runtime configurations of a domain.
Last patch makes use of the new parser and introduces "xl-json" format. Please
refer to commit log for details. Currently it's restricted to internal use
only, that is, user is not allowed to supply a config file in JSON format.
Wei.
Changes in V3:
* remove libxl__integer_parse_json and add functions for specific
integer types
* relax some checkings on invalid inputs
* libxl__json_parse_callback now takes gc instead of ctx
* rewrite "allow basic JSON type objects generation"
* ... and address some other misc things mentioned by IanC
Changes in V2:
* address IanC's comments on JSON parser
* add "xl-json" format patch
Wei Liu (13):
libxl: fix memory leak in libxl_cpuid_dispose
libxl.h: document the paradigm of using libxl types
libxl.h: move / add some libxl defbool #define here
libxl IDL: rename json_fn to json_gen_fn
libxl_json: introduce libx__object_from_json
libxl_internal: make JSON_* types a bit-field
libxl_internal: introduce libxl__json_object_is_{null,number,double}
libxl_json: introduce parser functions for builtin types
libxl_json: allow basic JSON type objects generation
libxl/gentypes.py: include discriminator in JSON output
libxl IDL: generate code to parse libxl__json_object to libxl_FOO
struct
libxl/gentest.py: test JSON parser
xl: introduce "xl-json" format
docs/man/xl.cfg.pod.5 | 3 +-
tools/libxl/gentest.py | 27 ++-
tools/libxl/gentypes.py | 131 +++++++++++-
tools/libxl/idl.py | 25 ++-
tools/libxl/idl.txt | 9 +-
tools/libxl/libxl.c | 10 +-
tools/libxl/libxl.h | 12 ++
tools/libxl/libxl_cpuid.c | 93 +++++++--
tools/libxl/libxl_internal.h | 40 +++-
tools/libxl/libxl_json.c | 364 +++++++++++++++++++++++++++++-----
tools/libxl/libxl_json.h | 36 +++-
tools/libxl/libxl_nocpuid.c | 7 +
tools/libxl/libxl_types.idl | 31 +--
tools/libxl/libxl_types_internal.idl | 4 +-
tools/libxl/xl_cmdimpl.c | 112 ++++++++---
15 files changed, 763 insertions(+), 141 deletions(-)
--
1.7.10.4
next reply other threads:[~2014-04-23 16:59 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-23 16:59 Wei Liu [this message]
2014-04-23 16:59 ` [PATCH V3 01/13] libxl: fix memory leak in libxl_cpuid_dispose Wei Liu
2014-04-23 16:59 ` [PATCH V3 02/13] libxl.h: document the paradigm of using libxl types Wei Liu
2014-04-23 16:59 ` [PATCH V3 03/13] libxl.h: move / add some libxl defbool #define here Wei Liu
2014-04-23 16:59 ` [PATCH V3 04/13] libxl IDL: rename json_fn to json_gen_fn Wei Liu
2014-04-23 16:59 ` [PATCH V3 05/13] libxl_json: introduce libx__object_from_json Wei Liu
2014-04-23 16:59 ` [PATCH V3 06/13] libxl_internal: make JSON_* types a bit-field Wei Liu
2014-04-23 16:59 ` [PATCH V3 07/13] libxl_internal: introduce libxl__json_object_is_{null, number, double} Wei Liu
2014-04-23 16:59 ` [PATCH V3 08/13] libxl_json: introduce parser functions for builtin types Wei Liu
2014-05-01 14:28 ` Anthony PERARD
2014-05-01 14:38 ` Wei Liu
2014-04-23 16:59 ` [PATCH V3 09/13] libxl_json: allow basic JSON type objects generation Wei Liu
2014-04-23 16:59 ` [PATCH V3 10/13] libxl/gentypes.py: include discriminator in JSON output Wei Liu
2014-04-23 22:40 ` Andrew Cooper
2014-04-24 8:12 ` Wei Liu
2014-04-23 16:59 ` [PATCH V3 11/13] libxl IDL: generate code to parse libxl__json_object to libxl_FOO struct Wei Liu
2014-04-23 16:59 ` [PATCH V3 12/13] libxl/gentest.py: test JSON parser Wei Liu
2014-04-23 16:59 ` [PATCH V3 13/13] xl: introduce "xl-json" format Wei Liu
2014-04-24 16:11 ` Ian Jackson
2014-04-25 15:53 ` Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1398272363-12133-1-git-send-email-wei.liu2@citrix.com \
--to=wei.liu2@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.