diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-04-12 17:46:10 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-04-12 17:46:10 +0100 |
commit | 01745ae6b53dfff62f2cd4d0ebd3500075b1b3d5 (patch) | |
tree | 52c7adfee7506ba923f1ec01b1ffa5abb111dffb /tools/libxl/libxlutil.h | |
parent | b175259586a64137ca5dc55a51181eb1abedd1fb (diff) | |
download | xen-01745ae6b53dfff62f2cd4d0ebd3500075b1b3d5.tar.gz xen-01745ae6b53dfff62f2cd4d0ebd3500075b1b3d5.tar.bz2 xen-01745ae6b53dfff62f2cd4d0ebd3500075b1b3d5.zip |
xl: New savefile format. Save domain config when saving a domain.
We introduce a new format for saved domains. The new format, in
contrast to the old:
* Has a magic number which can distinguish it from other kinds of
file
* Is extensible
* Can contains the domain configuration file
On domain creation we remember the actual config file used (using the
toolstack data feature of libxl, just introduced), and by default save
it to the save file.
However, options are provided for the following:
* When saving a domain, supplying an alternative config file to
store in the savefile.
* When restoring a domain, supplying an alternative config file.
If a domain is restored with a different config file, it is the
responsibility of the xl user to ensure that the two configs are
"compatible". Changing the targets of virtual devices is supported;
changing other features of the domain is not recommended. Bad changes
may lead to undefined behaviour in the domain, and are in practice
likely to cause resume failures or crashes.
Old format save files generated by old versions of xl are not
supported.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/libxlutil.h')
-rw-r--r-- | tools/libxl/libxlutil.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/libxl/libxlutil.h b/tools/libxl/libxlutil.h index 97b16aa134..0262e55eef 100644 --- a/tools/libxl/libxlutil.h +++ b/tools/libxl/libxlutil.h @@ -30,7 +30,8 @@ XLU_Config *xlu_cfg_init(FILE *report, const char *report_filename); * until the Config is destroyed. */ int xlu_cfg_readfile(XLU_Config*, const char *real_filename); - /* If this fails, then it is undefined behaviour to call xlu_cfg_get_... +int xlu_cfg_readdata(XLU_Config*, const char *data, int length); + /* If these fail, then it is undefined behaviour to call xlu_cfg_get_... * functions. You have to just xlu_cfg_destroy. */ void xlu_cfg_destroy(XLU_Config*); |