diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index c78e50c9db17b0025da3224f86bf28492c530053..d86ac99a677eb25a6bc21f0db7b00b8fe9ec28e7 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -229,42 +229,31 @@ virDomainNumatuneParseXML(virDomainNumaPtr *numatunePtr, *numatunePtr = NULL; } - if (!node && placement_static) { - if (virDomainNumatuneNodeParseXML(numatunePtr, ncells, ctxt) < 0) - goto cleanup; - return 0; - } + if (!placement_static && !node) + placement = VIR_DOMAIN_NUMATUNE_PLACEMENT_AUTO; - if (!node) { - /* We know that placement_mode is "auto" if we're here */ - ret = virDomainNumatuneSet(numatunePtr, - placement_static, - VIR_DOMAIN_NUMATUNE_PLACEMENT_AUTO, - -1, - NULL); - goto cleanup; - } + if (node) { + if ((tmp = virXMLPropString(node, "mode")) && + (mode = virDomainNumatuneMemModeTypeFromString(tmp)) < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Unsupported NUMA memory tuning mode '%s'"), tmp); + goto cleanup; + } + VIR_FREE(tmp); - if ((tmp = virXMLPropString(node, "mode")) && - (mode = virDomainNumatuneMemModeTypeFromString(tmp)) < 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("Unsupported NUMA memory tuning mode '%s'"), tmp); - goto cleanup; - } - VIR_FREE(tmp); + if ((tmp = virXMLPropString(node, "placement")) && + (placement = virDomainNumatunePlacementTypeFromString(tmp)) < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Unsupported NUMA memory placement mode '%s'"), tmp); + goto cleanup; + } + VIR_FREE(tmp); - if ((tmp = virXMLPropString(node, "placement")) && - (placement = virDomainNumatunePlacementTypeFromString(tmp)) < 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("Unsupported NUMA memory placement mode '%s'"), tmp); - goto cleanup; + if ((tmp = virXMLPropString(node, "nodeset")) && + virBitmapParse(tmp, 0, &nodeset, VIR_DOMAIN_CPUMASK_LEN) < 0) + goto cleanup; + VIR_FREE(tmp); } - VIR_FREE(tmp); - - if ((tmp = virXMLPropString(node, "nodeset")) && - virBitmapParse(tmp, 0, &nodeset, VIR_DOMAIN_CPUMASK_LEN) < 0) - goto cleanup; - VIR_FREE(tmp); if (virDomainNumatuneSet(numatunePtr, placement_static,