virDomainFeaturesDefParse: Inline MSRS parsing

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Tim Wiederhake 2021-06-22 14:22:54 +02:00 committed by Michal Privoznik
parent eeb94215b0
commit 2c2fe23bef

View File

@ -17518,10 +17518,21 @@ virDomainFeaturesDefParse(virDomainDef *def,
case VIR_DOMAIN_FEATURE_PAE:
case VIR_DOMAIN_FEATURE_VIRIDIAN:
case VIR_DOMAIN_FEATURE_PRIVNET:
case VIR_DOMAIN_FEATURE_MSRS:
def->features[val] = VIR_TRISTATE_SWITCH_ON;
break;
case VIR_DOMAIN_FEATURE_MSRS: {
virDomainMsrsUnknown unknown;
if (virXMLPropEnum(nodes[i], "unknown",
virDomainMsrsUnknownTypeFromString,
VIR_XML_PROP_REQUIRED, &unknown) < 0)
return -1;
def->features[val] = VIR_TRISTATE_SWITCH_ON;
def->msrs_features[VIR_DOMAIN_MSRS_UNKNOWN] = unknown;
break;
}
case VIR_DOMAIN_FEATURE_HYPERV:
if (virDomainFeaturesHyperVDefParse(def, nodes[i]) < 0)
return -1;
@ -17694,19 +17705,6 @@ virDomainFeaturesDefParse(virDomainDef *def,
}
VIR_FREE(nodes);
if (def->features[VIR_DOMAIN_FEATURE_MSRS] == VIR_TRISTATE_SWITCH_ON) {
virDomainMsrsUnknown unknown;
xmlNodePtr node = NULL;
if ((node = virXPathNode("./features/msrs", ctxt)) == NULL)
return -1;
if (virXMLPropEnum(node, "unknown", virDomainMsrsUnknownTypeFromString,
VIR_XML_PROP_REQUIRED, &unknown) < 0)
return -1;
def->msrs_features[VIR_DOMAIN_MSRS_UNKNOWN] = unknown;
}
if ((n = virXPathNodeSet("./features/capabilities/*", ctxt, &nodes)) < 0)
return -1;