提交 720d9826 编写于 作者: M Maxiwell S. Garcia 提交者: Jiri Denemark

qemu: formatting XML from domain def choosing the root name

The function virDomainDefFormatInternal() has the predefined root name
"domain" to format the XML. But to save both active and inactive domain
in the snapshot XML, the new root name "inactiveDomain" was created.
So, the new function virDomainDefFormatInternalSetRootName() allows to
choose the root name of XML. The former function became a tiny wrapper
to call the new function setting the correct parameters.
Signed-off-by: NMaxiwell S. Garcia <maxiwell@linux.ibm.com>
Reviewed-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
Tested-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
上级 33c05f8b
......@@ -28336,17 +28336,29 @@ virDomainDefFormatFeatures(virBufferPtr buf,
return virXMLFormatElement(buf, "features", NULL, &childBuf);
}
/* This internal version appends to an existing buffer
* (possibly with auto-indent), rather than flattening
* to string.
* Return -1 on failure. */
int
virDomainDefFormatInternal(virDomainDefPtr def,
virCapsPtr caps,
unsigned int flags,
virBufferPtr buf,
virDomainXMLOptionPtr xmlopt)
{
return virDomainDefFormatInternalSetRootName(def, caps, flags, buf,
xmlopt, "domain");
}
/* This internal version appends to an existing buffer
* (possibly with auto-indent), rather than flattening
* to string.
* Return -1 on failure. */
int
virDomainDefFormatInternalSetRootName(virDomainDefPtr def,
virCapsPtr caps,
unsigned int flags,
virBufferPtr buf,
virDomainXMLOptionPtr xmlopt,
const char *rootname)
{
unsigned char *uuid;
char uuidstr[VIR_UUID_STRING_BUFLEN];
......@@ -28371,7 +28383,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
if (def->id == -1)
flags |= VIR_DOMAIN_DEF_FORMAT_INACTIVE;
virBufferAsprintf(buf, "<domain type='%s'", type);
virBufferAsprintf(buf, "<%s type='%s'", rootname, type);
if (!(flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE))
virBufferAsprintf(buf, " id='%d'", def->id);
if (def->namespaceData && def->ns.format)
......@@ -28853,7 +28865,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
virDomainSEVDefFormat(buf, def->sev);
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</domain>\n");
virBufferAsprintf(buf, "</%s>\n", rootname);
if (virBufferCheckError(buf) < 0)
goto error;
......
......@@ -3080,6 +3080,12 @@ int virDomainDefFormatInternal(virDomainDefPtr def,
unsigned int flags,
virBufferPtr buf,
virDomainXMLOptionPtr xmlopt);
int virDomainDefFormatInternalSetRootName(virDomainDefPtr def,
virCapsPtr caps,
unsigned int flags,
virBufferPtr buf,
virDomainXMLOptionPtr xmlopt,
const char *rootname);
int virDomainDiskSourceFormat(virBufferPtr buf,
virStorageSourcePtr src,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册