[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V4 00/24] 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: 1. first few patches are bugfixes, doc updates 2. JSON infrastructure to manipulate domain configuration 3. new "xl-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. OSSTest is only able to test first 3 parts of the series. So I also did some manual testing for device hotplug. The main problem discovered is that when a device is removed, but the backend times out, the device is considered not removed. But in fact in that case (backend timed out) the device is force removed. This series contains a patch to fix that behavior. And for the 4th part of this series, the synchronization is done in xl level. AIUI libxl userdata store contains the data of from the user of this library, so "xl-json" format is xl centric. It's also possible to push the synchronization to libxl level, but that looks wrong to me. Correct me if I've mistaken the usage of libxl userdata store. Wei. 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 (24): xl / libxl: push parsing of SSID and CPU pool ID down to libxl 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 libxl: introduce libxl_key_value_list_length libxl: introduce libxl_cpuid_policy_list_length libxl: copy function for builtin types libxl IDL: generate deep copy functions libxl/gentest.py: test deep copy functions xl: introduce and use "xl-json" format xl: introduce load/save_domain_config xl: update domain configuration when running mem-set and mem-max xl: update domain configuration when we hotplug a device libxl: consider force removal of device successful xl: update configuration when we unplug a device docs/man/xl.cfg.pod.5 | 3 +- docs/man/xl.pod.1 | 21 + tools/libxl/gentest.py | 64 ++- tools/libxl/gentypes.py | 198 +++++++++- tools/libxl/idl.py | 38 +- tools/libxl/idl.txt | 21 +- tools/libxl/libxl.c | 106 ++++- tools/libxl/libxl.h | 40 +- tools/libxl/libxl_cpuid.c | 131 ++++++- tools/libxl/libxl_create.c | 57 +++ tools/libxl/libxl_device.c | 12 +- tools/libxl/libxl_dm.c | 4 + tools/libxl/libxl_internal.h | 44 ++- tools/libxl/libxl_json.c | 355 ++++++++++++++--- tools/libxl/libxl_json.h | 36 +- tools/libxl/libxl_nocpuid.c | 13 + tools/libxl/libxl_types.idl | 43 +- tools/libxl/libxl_types_internal.idl | 4 +- tools/libxl/libxl_utils.c | 56 +++ tools/libxl/libxl_utils.h | 7 + tools/libxl/libxl_uuid.c | 12 + tools/libxl/libxl_uuid.h | 4 + tools/libxl/xl_cmdimpl.c | 715 ++++++++++++++++++++++++---------- tools/libxl/xl_cmdtable.c | 11 +- tools/libxl/xl_sxp.c | 7 +- 25 files changed, 1662 insertions(+), 340 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 |