mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
virDomainMemoryDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
550981ce97
commit
3b7bc307d5
@ -14856,48 +14856,24 @@ virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
||||||
xmlNodePtr node;
|
xmlNodePtr node;
|
||||||
virDomainMemoryDef *def;
|
virDomainMemoryDef *def;
|
||||||
int val;
|
|
||||||
g_autofree char *tmp = NULL;
|
g_autofree char *tmp = NULL;
|
||||||
|
|
||||||
def = g_new0(virDomainMemoryDef, 1);
|
def = g_new0(virDomainMemoryDef, 1);
|
||||||
|
|
||||||
ctxt->node = memdevNode;
|
ctxt->node = memdevNode;
|
||||||
|
|
||||||
if (!(tmp = virXMLPropString(memdevNode, "model"))) {
|
if (virXMLPropEnum(memdevNode, "model", virDomainMemoryModelTypeFromString,
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
VIR_XML_PROP_REQUIRED | VIR_XML_PROP_NONZERO,
|
||||||
_("missing memory model"));
|
&def->model) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
|
||||||
|
|
||||||
if ((val = virDomainMemoryModelTypeFromString(tmp)) <= 0) {
|
if (virXMLPropEnum(memdevNode, "access", virDomainMemoryAccessTypeFromString,
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
VIR_XML_PROP_NONZERO, &def->access) < 0)
|
||||||
_("invalid memory model '%s'"), tmp);
|
|
||||||
goto error;
|
goto error;
|
||||||
}
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
def->model = val;
|
|
||||||
|
|
||||||
if ((tmp = virXMLPropString(memdevNode, "access"))) {
|
if (virXMLPropTristateBool(memdevNode, "discard", VIR_XML_PROP_NONE,
|
||||||
if ((val = virDomainMemoryAccessTypeFromString(tmp)) <= 0) {
|
&def->discard) < 0)
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
goto error;
|
||||||
_("invalid access mode '%s'"), tmp);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
def->access = val;
|
|
||||||
}
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
|
|
||||||
if ((tmp = virXMLPropString(memdevNode, "discard"))) {
|
|
||||||
if ((val = virTristateBoolTypeFromString(tmp)) <= 0) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("invalid discard value '%s'"), tmp);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
def->discard = val;
|
|
||||||
}
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
|
|
||||||
/* Extract NVDIMM UUID. */
|
/* Extract NVDIMM UUID. */
|
||||||
if (def->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM &&
|
if (def->model == VIR_DOMAIN_MEMORY_MODEL_NVDIMM &&
|
||||||
@ -14910,7 +14886,6 @@ virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VIR_FREE(tmp);
|
|
||||||
|
|
||||||
/* source */
|
/* source */
|
||||||
if ((node = virXPathNode("./source", ctxt)) &&
|
if ((node = virXPathNode("./source", ctxt)) &&
|
||||||
|
Loading…
Reference in New Issue
Block a user