|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V5 00/32] JSON infrastructure, new "xl-json" format and domain configuration synchronization
This series contains all patches necessary to fully preserve domain
configurations across save / restore.
It's divided to several parts (see patch list):
1. first few patches are bugfixes, doc updates and prerequisite changes
2. JSON infrastructure to manipulate domain configuration
3. new "libxl-json" format
4. update stored domain configuration as we update runtime domain configs
I've run test-amd64-amd64-xl and test-amd64-amd64-xl-qemuu-debianhvm-amd64
in OSSTest standalone mode, this series passed both testcases.
I've marked patch list with different legends for ease of review.
A -- Acked
C -- Changed since last round
M -- Minor update, no functional change
No marker -- New in this round
Wei.
Changes in V5:
* fix bugs in JSON generator and parser
* push vcpu affinity pinning to libxl
* don't generate default values in JSON output
* change JSON output to generate "keyvar.discriminator"
* synchronization now done in libxl
Changes in V4:
* minor bug fixes to parser
* push option parsing down to libxl level
* introduce deep copy functions
* handle domain configuration changes when setting memory targets
* handle domain configuration changes when plug / unplug device
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 (32):
PART 1:
libxl: make cpupool_qualifier_to_cpupoolid a library function
M xl / libxl: push parsing of SSID and CPU pool ID down to libxl
xl / libxl: push VCPU affinity pinning down to libxl
libxl: libxl_uuid_copy now taks a ctx argument
xl: remove parsing of "vncviewer" option in xl domain config file
A libxl: fix memory leak in libxl_cpuid_dispose
libxl.h: document the paradigm of using libxl types
libxl.h: document libxl_<type>_to_json
C libxl_internal.h: move / add some libxl defbool #define here
libxl: fix JSON generator for uint64_t
PART 2:
A libxl IDL: rename json_fn to json_gen_fn
A libxl_json: introduce libxl__object_from_json
A libxl_internal: make JSON_* types a bit-field
A libxl_internal.h: introduce
libxl__json_object_is_{null,number,double}
libxl_internal.h: introduce libxl__json_object_get_number
A libxl_json: introduce parser functions for builtin types
A libxl_json: allow basic JSON type objects generation
libxl/gentypes.py: special-case KeyedUnion map handle generation
libxl/gentypes.py: don't generate default values
C libxl IDL: generate code to parse libxl__json_object to libxl_FOO
struct
A libxl/gentest.py: test JSON parser
M libxl: introduce libxl_key_value_list_length
M libxl: introduce libxl_cpuid_policy_list_length
C libxl: copy function for builtin types
C libxl IDL: generate deep copy functions
A libxl/gentest.py: test deep copy functions
PART 3:
libxl: libxl-json format and load/store configuration functions
libxl: store up-to-date domain configuration as we create domain
xl: use "libxl-json" format
PART 4:
M libxl: consider force removal of device successful
libxl: update domain configuration when updating memory targets
libxl: synchronize configuration when we plug / unplug device
docs/man/xl.cfg.pod.5 | 4 -
tools/libxl/gentest.py | 64 +++++-
tools/libxl/gentypes.py | 259 ++++++++++++++++++++-
tools/libxl/idl.py | 40 +++-
tools/libxl/idl.txt | 21 +-
tools/libxl/libxl.c | 364 +++++++++++++++++++++++++++---
tools/libxl/libxl.h | 99 +++++++-
tools/libxl/libxl_cpuid.c | 135 +++++++++--
tools/libxl/libxl_create.c | 112 ++++++++-
tools/libxl/libxl_device.c | 12 +-
tools/libxl/libxl_dm.c | 4 +
tools/libxl/libxl_dom.c | 48 ++++
tools/libxl/libxl_internal.h | 62 ++++-
tools/libxl/libxl_json.c | 411 +++++++++++++++++++++++++++++-----
tools/libxl/libxl_json.h | 37 ++-
tools/libxl/libxl_nocpuid.c | 13 ++
tools/libxl/libxl_types.idl | 72 +++---
tools/libxl/libxl_types_internal.idl | 4 +-
tools/libxl/libxl_utils.c | 58 ++++-
tools/libxl/libxl_utils.h | 7 +
tools/libxl/libxl_uuid.c | 4 +-
tools/libxl/libxl_uuid.h | 6 +-
tools/libxl/xl_cmdimpl.c | 374 +++++++++++++------------------
tools/libxl/xl_sxp.c | 7 +-
24 files changed, 1810 insertions(+), 407 deletions(-)
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |