]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainFeaturesDefParse: Inline MSRS parsing
authorTim Wiederhake <twiederh@redhat.com>
Tue, 22 Jun 2021 12:22:54 +0000 (14:22 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 23 Jun 2021 11:45:49 +0000 (13:45 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c

index b411c1fb8c7d402b8c62de4a5593e58756709e24..915303adcd17cc67c9875a183bde5c4b9e7bf0e1 100644 (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;