mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-04-26 07:04:42 +00:00
virDomainHostdevSubsysSCSIHostDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
d19af62435
commit
88cc6a1f9f
@ -7034,9 +7034,6 @@ virDomainHostdevSubsysSCSIHostDefParseXML(xmlNodePtr sourcenode,
|
|||||||
virDomainXMLOption *xmlopt)
|
virDomainXMLOption *xmlopt)
|
||||||
{
|
{
|
||||||
virDomainHostdevSubsysSCSIHost *scsihostsrc = &scsisrc->u.host;
|
virDomainHostdevSubsysSCSIHost *scsihostsrc = &scsisrc->u.host;
|
||||||
g_autofree char *bus = NULL;
|
|
||||||
g_autofree char *target = NULL;
|
|
||||||
g_autofree char *unit = NULL;
|
|
||||||
xmlNodePtr addressnode = NULL;
|
xmlNodePtr addressnode = NULL;
|
||||||
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
||||||
|
|
||||||
@ -7048,32 +7045,17 @@ virDomainHostdevSubsysSCSIHostDefParseXML(xmlNodePtr sourcenode,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(bus = virXMLPropString(addressnode, "bus")) ||
|
if (virXMLPropUInt(addressnode, "bus", 0, VIR_XML_PROP_REQUIRED,
|
||||||
!(target = virXMLPropString(addressnode, "target")) ||
|
&scsihostsrc->bus) < 0)
|
||||||
!(unit = virXMLPropString(addressnode, "unit"))) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
|
||||||
_("'bus', 'target', and 'unit' must be specified "
|
|
||||||
"for scsi hostdev source address"));
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if (virStrToLong_uip(bus, NULL, 0, &scsihostsrc->bus) < 0) {
|
if (virXMLPropUInt(addressnode, "target", 0, VIR_XML_PROP_REQUIRED,
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
&scsihostsrc->target) < 0)
|
||||||
_("cannot parse bus '%s'"), bus);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if (virStrToLong_uip(target, NULL, 0, &scsihostsrc->target) < 0) {
|
if (virXMLPropULongLong(addressnode, "unit", 0, VIR_XML_PROP_REQUIRED,
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
&scsihostsrc->unit) < 0)
|
||||||
_("cannot parse target '%s'"), target);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
if (virStrToLong_ullp(unit, NULL, 0, &scsihostsrc->unit) < 0) {
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("cannot parse unit '%s'"), unit);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(scsihostsrc->adapter = virXPathString("string(./adapter/@name)", ctxt))) {
|
if (!(scsihostsrc->adapter = virXPathString("string(./adapter/@name)", ctxt))) {
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user