]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: remove 'bootHash' completely
authorJán Tomko <jtomko@redhat.com>
Mon, 28 May 2018 12:34:51 +0000 (14:34 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 29 May 2018 08:23:05 +0000 (10:23 +0200)
Its only use is now to check for duplicate boot order values,
which is now also done in virDomainDefPostParseCommon.

Remove it completely.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index 6bfd9e4a67fb3d208e91cc702999c2e62042bb8e..d3102846bd1ee8b21787904444573a36401787e2 100644 (file)
@@ -6585,8 +6585,7 @@ virDomainDeviceUSBMasterParseXML(xmlNodePtr node,
 
 static int
 virDomainDeviceBootParseXML(xmlNodePtr node,
-                            virDomainDeviceInfoPtr info,
-                            virHashTablePtr bootHash)
+                            virDomainDeviceInfoPtr info)
 {
     char *order;
     char *loadparm = NULL;
@@ -6606,18 +6605,6 @@ virDomainDeviceBootParseXML(xmlNodePtr node,
         goto cleanup;
     }
 
-    if (bootHash) {
-        if (virHashLookup(bootHash, order)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                           _("boot order '%s' used for more than one device"),
-                           order);
-            goto cleanup;
-        }
-
-        if (virHashAddEntry(bootHash, order, (void *) 1) < 0)
-            goto cleanup;
-    }
-
     loadparm = virXMLPropString(node, "loadparm");
     if (loadparm) {
         if (virStringToUpper(&info->loadparm, loadparm) != 1) {
@@ -6815,7 +6802,6 @@ virDomainDeviceAliasIsUserAlias(const char *aliasStr)
 static int
 virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
                             xmlNodePtr node,
-                            virHashTablePtr bootHash,
                             virDomainDeviceInfoPtr info,
                             unsigned int flags)
 {
@@ -6875,7 +6861,7 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
     }
 
     if (boot) {
-        if (virDomainDeviceBootParseXML(boot, info, bootHash))
+        if (virDomainDeviceBootParseXML(boot, info))
             goto cleanup;
     }
 
@@ -9400,7 +9386,6 @@ static virDomainDiskDefPtr
 virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
                          xmlNodePtr node,
                          xmlXPathContextPtr ctxt,
-                         virHashTablePtr bootHash,
                          virSecurityLabelDefPtr* vmSeclabels,
                          int nvmSeclabels,
                          unsigned int flags)
@@ -9767,7 +9752,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
         }
         def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
     } else {
-        if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info,
+        if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info,
                                         flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT) < 0)
             goto error;
     }
@@ -10258,7 +10243,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
     if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
         def->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) {
         VIR_DEBUG("Ignoring device address for none model usb controller");
-    } else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL,
+    } else if (virDomainDeviceInfoParseXML(xmlopt, node,
                                            &def->info, flags) < 0) {
         goto error;
     }
@@ -10646,7 +10631,7 @@ virDomainFSDefParseXML(virDomainXMLOptionPtr xmlopt,
     def->dst = target;
     target = NULL;
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
  cleanup:
@@ -10936,7 +10921,6 @@ static virDomainNetDefPtr
 virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
                         xmlNodePtr node,
                         xmlXPathContextPtr ctxt,
-                        virHashTablePtr bootHash,
                         char *prefix,
                         unsigned int flags)
 {
@@ -11224,7 +11208,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
         }
         def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
     } else {
-        if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info,
+        if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info,
                                         flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT
                                         | VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) < 0)
             goto error;
@@ -12523,7 +12507,7 @@ virDomainChrDefParseXML(virDomainXMLOptionPtr xmlopt,
     if (def->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
         def->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD) {
         VIR_DEBUG("Ignoring device address for gustfwd channel");
-    } else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL,
+    } else if (virDomainDeviceInfoParseXML(xmlopt, node,
                                            &def->info, flags) < 0) {
         goto error;
     }
@@ -12661,7 +12645,7 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr xmlopt,
         goto error;
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
     if (def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
         def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCID) {
@@ -12762,7 +12746,7 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt,
         goto error;
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
  cleanup:
@@ -12791,7 +12775,7 @@ virDomainPanicDefParseXML(virDomainXMLOptionPtr xmlopt,
     if (VIR_ALLOC(panic) < 0)
         return NULL;
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL,
+    if (virDomainDeviceInfoParseXML(xmlopt, node,
                                     &panic->info, flags) < 0)
         goto error;
 
@@ -12927,7 +12911,7 @@ virDomainInputDefParseXML(virDomainXMLOptionPtr xmlopt,
         }
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
     if (def->bus == VIR_DOMAIN_INPUT_BUS_USB &&
@@ -12991,7 +12975,7 @@ virDomainHubDefParseXML(virDomainXMLOptionPtr xmlopt,
         goto error;
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
  cleanup:
@@ -14148,7 +14132,7 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
         }
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
  cleanup:
@@ -14202,7 +14186,7 @@ virDomainWatchdogDefParseXML(virDomainXMLOptionPtr xmlopt,
         }
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
  cleanup:
@@ -14314,7 +14298,7 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlopt,
         break;
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
     if (virDomainVirtioOptionsParseXML(virXPathNode("./driver", ctxt),
@@ -14384,7 +14368,7 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt,
 
     if (def->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE)
         VIR_DEBUG("Ignoring device address for none model Memballoon");
-    else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL,
+    else if (virDomainDeviceInfoParseXML(xmlopt, node,
                                          &def->info, flags) < 0)
         goto error;
 
@@ -14415,7 +14399,7 @@ virDomainNVRAMDefParseXML(virDomainXMLOptionPtr xmlopt,
     if (VIR_ALLOC(def) < 0)
         return NULL;
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
     return def;
@@ -14511,7 +14495,7 @@ virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt,
         goto cleanup;
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto cleanup;
 
 
@@ -15165,7 +15149,7 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
         }
     }
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0)
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
         goto error;
 
     def->driver = virDomainVideoDriverDefParseXML(node);
@@ -15192,7 +15176,6 @@ static virDomainHostdevDefPtr
 virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt,
                             xmlNodePtr node,
                             xmlXPathContextPtr ctxt,
-                            virHashTablePtr bootHash,
                             unsigned int flags)
 {
     virDomainHostdevDefPtr def;
@@ -15233,7 +15216,7 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt,
     }
 
     if (def->info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
-        if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, def->info,
+        if (virDomainDeviceInfoParseXML(xmlopt, node, def->info,
                                         flags  | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT
                                         | VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) < 0)
             goto error;
@@ -15273,7 +15256,6 @@ static virDomainRedirdevDefPtr
 virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt,
                              xmlNodePtr node,
                              xmlXPathContextPtr ctxt,
-                             virHashTablePtr bootHash,
                              unsigned int flags)
 {
     xmlNodePtr cur;
@@ -15320,7 +15302,7 @@ virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt,
     if (def->source->type == VIR_DOMAIN_CHR_TYPE_SPICEVMC)
         def->source->data.spicevmc = VIR_DOMAIN_CHR_SPICEVMC_USBREDIR;
 
-    if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info,
+    if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info,
                                     flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT) < 0)
         goto error;
 
@@ -15799,7 +15781,7 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt,
         goto error;
 
     if (virDomainDeviceInfoParseXML(xmlopt, memdevNode,
-                                    NULL, &def->info, flags) < 0)
+                                    &def->info, flags) < 0)
         goto error;
 
     ctxt->node = save;
@@ -15929,7 +15911,7 @@ virDomainDeviceDefParse(const char *xmlStr,
     switch ((virDomainDeviceType) dev->type) {
     case VIR_DOMAIN_DEVICE_DISK:
         if (!(dev->data.disk = virDomainDiskDefParseXML(xmlopt, node, ctxt,
-                                                        NULL, def->seclabels,
+                                                        def->seclabels,
                                                         def->nseclabels,
                                                         flags)))
             goto error;
@@ -15945,7 +15927,7 @@ virDomainDeviceDefParse(const char *xmlStr,
     case VIR_DOMAIN_DEVICE_NET:
         netprefix = caps->host.netprefix;
         if (!(dev->data.net = virDomainNetDefParseXML(xmlopt, node, ctxt,
-                                                      NULL, netprefix, flags)))
+                                                      netprefix, flags)))
             goto error;
         break;
     case VIR_DOMAIN_DEVICE_INPUT:
@@ -15970,7 +15952,7 @@ virDomainDeviceDefParse(const char *xmlStr,
         break;
     case VIR_DOMAIN_DEVICE_HOSTDEV:
         if (!(dev->data.hostdev = virDomainHostdevDefParseXML(xmlopt, node,
-                                                              ctxt, NULL,
+                                                              ctxt,
                                                               flags)))
             goto error;
         break;
@@ -15989,7 +15971,7 @@ virDomainDeviceDefParse(const char *xmlStr,
         break;
     case VIR_DOMAIN_DEVICE_REDIRDEV:
         if (!(dev->data.redirdev = virDomainRedirdevDefParseXML(xmlopt, node,
-                                                                ctxt, NULL, flags)))
+                                                                ctxt, flags)))
             goto error;
         break;
     case VIR_DOMAIN_DEVICE_RNG:
@@ -16096,7 +16078,7 @@ virDomainDiskDefParse(const char *xmlStr,
     }
 
     disk = virDomainDiskDefParseXML(xmlopt, ctxt->node, ctxt,
-                                    NULL, seclabels, nseclabels, flags);
+                                    seclabels, nseclabels, flags);
 
  cleanup:
     xmlFreeDoc(xml);
@@ -18476,8 +18458,7 @@ virDomainVcpuParse(virDomainDefPtr def,
 
 static int
 virDomainDefParseBootOptions(virDomainDefPtr def,
-                             xmlXPathContextPtr ctxt,
-                             virHashTablePtr *bootHash)
+                             xmlXPathContextPtr ctxt)
 {
     xmlNodePtr *nodes = NULL;
     char *tmp = NULL;
@@ -18609,8 +18590,6 @@ virDomainDefParseBootOptions(virDomainDefPtr def,
 
         if (virDomainDefParseBootXML(ctxt, def) < 0)
             goto error;
-        if (!(*bootHash = virHashCreate(5, NULL)))
-            goto error;
     }
 
     ret = 0;
@@ -18827,7 +18806,6 @@ virDomainDefParseXML(xmlDocPtr xml,
     long id = -1;
     virDomainDefPtr def;
     bool uuid_generated = false;
-    virHashTablePtr bootHash = NULL;
     bool usb_none = false;
     bool usb_other = false;
     bool usb_master = false;
@@ -19872,7 +19850,7 @@ virDomainDefParseXML(xmlDocPtr xml,
     }
     VIR_FREE(nodes);
 
-    if (virDomainDefParseBootOptions(def, ctxt, &bootHash) < 0)
+    if (virDomainDefParseBootOptions(def, ctxt) < 0)
         goto error;
 
     /* analysis of the disk devices */
@@ -19886,7 +19864,6 @@ virDomainDefParseXML(xmlDocPtr xml,
         virDomainDiskDefPtr disk = virDomainDiskDefParseXML(xmlopt,
                                                             nodes[i],
                                                             ctxt,
-                                                            bootHash,
                                                             def->seclabels,
                                                             def->nseclabels,
                                                             flags);
@@ -19993,7 +19970,6 @@ virDomainDefParseXML(xmlDocPtr xml,
         virDomainNetDefPtr net = virDomainNetDefParseXML(xmlopt,
                                                          nodes[i],
                                                          ctxt,
-                                                         bootHash,
                                                          netprefix,
                                                          flags);
         if (!net)
@@ -20235,7 +20211,7 @@ virDomainDefParseXML(xmlDocPtr xml,
         virDomainHostdevDefPtr hostdev;
 
         hostdev = virDomainHostdevDefParseXML(xmlopt, nodes[i], ctxt,
-                                              bootHash, flags);
+                                              flags);
         if (!hostdev)
             goto error;
 
@@ -20379,7 +20355,7 @@ virDomainDefParseXML(xmlDocPtr xml,
         goto error;
     for (i = 0; i < n; i++) {
         virDomainRedirdevDefPtr redirdev =
-            virDomainRedirdevDefParseXML(xmlopt, nodes[i], ctxt, bootHash, flags);
+            virDomainRedirdevDefParseXML(xmlopt, nodes[i], ctxt, flags);
         if (!redirdev)
             goto error;
 
@@ -20553,14 +20529,11 @@ virDomainDefParseXML(xmlDocPtr xml,
     if (virDomainDefValidate(def, caps, flags, xmlopt) < 0)
         goto error;
 
-    virHashFree(bootHash);
-
     return def;
 
  error:
     VIR_FREE(tmp);
     VIR_FREE(nodes);
-    virHashFree(bootHash);
     virDomainDefFree(def);
     return NULL;
 }