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