virDomainParseScaledValue requires it.
---
src/conf/domain_conf.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 4e24101..fece93a 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5659,6 +5659,7 @@ virDomainControllerModelTypeFromString(const
virDomainControllerDefPtr def,
*/
static virDomainControllerDefPtr
virDomainControllerDefParseXML(xmlNodePtr node,
+ xmlXPathContextPtr ctxt,
unsigned int flags)
{
virDomainControllerDefPtr def;
@@ -5667,6 +5668,9 @@ virDomainControllerDefParseXML(xmlNodePtr node,
char *idx = NULL;
char *model = NULL;
char *queues = NULL;
+ xmlNodePtr saved = ctxt->node;
+
+ ctxt->node = node;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -5808,6 +5812,7 @@ virDomainControllerDefParseXML(xmlNodePtr node,
}
cleanup:
+ ctxt->node = saved;
VIR_FREE(type);
VIR_FREE(idx);
VIR_FREE(model);
@@ -9479,7 +9484,8 @@ virDomainDeviceDefParse(const char *xmlStr,
goto error;
break;
case VIR_DOMAIN_DEVICE_CONTROLLER:
- if (!(dev->data.controller = virDomainControllerDefParseXML(node, flags)))
+ if (!(dev->data.controller = virDomainControllerDefParseXML(node, ctxt,
+ flags)))
goto error;
break;
case VIR_DOMAIN_DEVICE_GRAPHICS:
@@ -11690,6 +11696,7 @@ virDomainDefParseXML(xmlDocPtr xml,
for (i = 0; i < n; i++) {
virDomainControllerDefPtr controller = virDomainControllerDefParseXML(nodes[i],
+ ctxt,
flags);
if (!controller)
goto error;
--
1.8.1.5