提交 eb9595b7 编写于 作者: P Peter Krempa

qemu: save image: Add possibility to return XML stored in the image

Add a new parameter that will allow to return the XML stored in the save
image for further manipulation and adjust the callers. This option will
be used in later patches.
上级 92e1df25
......@@ -5390,6 +5390,7 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
const char *path,
virDomainDefPtr *ret_def,
virQEMUSaveHeaderPtr ret_header,
char **xmlout,
bool bypass_cache,
virFileWrapperFdPtr *wrapperFd,
const char *xmlin, int state, bool edit,
......@@ -5512,6 +5513,9 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
def = tmp;
}
if (xmlout)
*xmlout = xml;
else
VIR_FREE(xml);
*ret_def = def;
......@@ -5668,7 +5672,7 @@ qemuDomainRestoreFlags(virConnectPtr conn,
else if (flags & VIR_DOMAIN_SAVE_PAUSED)
state = 0;
fd = qemuDomainSaveImageOpen(driver, path, &def, &header,
fd = qemuDomainSaveImageOpen(driver, path, &def, &header, NULL,
(flags & VIR_DOMAIN_SAVE_BYPASS_CACHE) != 0,
&wrapperFd, dxml, state, false, false);
if (fd < 0)
......@@ -5729,8 +5733,8 @@ qemuDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *path,
/* We only take subset of virDomainDefFormat flags. */
virCheckFlags(VIR_DOMAIN_XML_SECURE, NULL);
fd = qemuDomainSaveImageOpen(driver, path, &def, &header, false, NULL,
NULL, -1, false, false);
fd = qemuDomainSaveImageOpen(driver, path, &def, &header, NULL,
false, NULL, NULL, -1, false, false);
if (fd < 0)
goto cleanup;
......@@ -5767,8 +5771,8 @@ qemuDomainSaveImageDefineXML(virConnectPtr conn, const char *path,
else if (flags & VIR_DOMAIN_SAVE_PAUSED)
state = 0;
fd = qemuDomainSaveImageOpen(driver, path, &def, &header, false, NULL,
dxml, state, true, false);
fd = qemuDomainSaveImageOpen(driver, path, &def, &header, NULL,
false, NULL, dxml, state, true, false);
if (fd < 0) {
/* Check for special case of no change needed. */
......@@ -5832,7 +5836,7 @@ qemuDomainObjRestore(virConnectPtr conn,
virQEMUSaveHeader header;
virFileWrapperFdPtr wrapperFd = NULL;
fd = qemuDomainSaveImageOpen(driver, path, &def, &header,
fd = qemuDomainSaveImageOpen(driver, path, &def, &header, NULL,
bypass_cache, &wrapperFd, NULL, -1, false,
true);
if (fd < 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册