]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Handle NVRAM in virDomainLoaderDefParseXML()
authorAndrea Bolognani <abologna@redhat.com>
Thu, 16 Jun 2022 16:02:14 +0000 (18:02 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 1 Jul 2022 13:10:22 +0000 (15:10 +0200)
All the data in the <nvram> element ends up in the same struct
as that coming from the <loader> element, so it makes sense to
have a single entry point for parsing an XML document into a
virDomainLoaderDef instance.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c

index fcb468b4653d7d169214528b1a2f65c5586c1e29..d6a33a0f813d694b40292b0e69b59d806479267d 100644 (file)
@@ -18042,8 +18042,11 @@ virDomainLoaderDefParseXMLNvram(virDomainLoaderDef *loader,
 
 
 static int
-virDomainLoaderDefParseXML(xmlNodePtr node,
-                           virDomainLoaderDef *loader,
+virDomainLoaderDefParseXML(virDomainLoaderDef *loader,
+                           xmlNodePtr node,
+                           xmlXPathContextPtr ctxt,
+                           virDomainXMLOption *xmlopt,
+                           unsigned int flags,
                            bool fwAutoSelect)
 {
     if (!fwAutoSelect) {
@@ -18066,6 +18069,11 @@ virDomainLoaderDefParseXML(xmlNodePtr node,
                                &loader->secure) < 0)
         return -1;
 
+    if (virDomainLoaderDefParseXMLNvram(loader,
+                                        ctxt, xmlopt, flags,
+                                        fwAutoSelect) < 0)
+        return -1;
+
     return 0;
 }
 
@@ -18467,16 +18475,12 @@ virDomainDefParseBootLoaderOptions(virDomainDef *def,
 
     def->os.loader = g_new0(virDomainLoaderDef, 1);
 
-    if (virDomainLoaderDefParseXML(loader_node,
-                                   def->os.loader,
+    if (virDomainLoaderDefParseXML(def->os.loader,
+                                   loader_node,
+                                   ctxt, xmlopt, flags,
                                    fwAutoSelect) < 0)
         return -1;
 
-    if (virDomainLoaderDefParseXMLNvram(def->os.loader,
-                                        ctxt, xmlopt, flags,
-                                        fwAutoSelect) < 0)
-        return -1;
-
     return 0;
 }