]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
conf: numa: Don't pass double pointer to virDomainNumatuneParseXML
authorPeter Krempa <pkrempa@redhat.com>
Mon, 16 Feb 2015 16:19:15 +0000 (17:19 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 20 Feb 2015 16:50:07 +0000 (17:50 +0100)
virDomainNumatuneParseXML now doesn't allocate the def->numa object any
longer so we don't need to pass a double pointer.

src/conf/domain_conf.c
src/conf/numa_conf.c
src/conf/numa_conf.h

index e9c6a825b8fc9956cc1edc836be31870b5e20f37..e3235bf9a2f21b6bd784689ef659ae870b6b54b3 100644 (file)
@@ -13528,7 +13528,7 @@ virDomainDefParseXML(xmlDocPtr xml,
         goto error;
     }
 
-    if (virDomainNumatuneParseXML(&def->numa,
+    if (virDomainNumatuneParseXML(def->numa,
                                   def->placement_mode ==
                                   VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC,
                                   def->cpu ? def->cpu->ncells : 0,
index a674864b8b1810dff05185509bce5eba4c1bb37b..7ee2b3e694c6441279acd28f4671b2b974fe5eb0 100644 (file)
@@ -82,7 +82,7 @@ virDomainNumatuneNodeSpecified(virDomainNumaPtr numatune,
 }
 
 static int
-virDomainNumatuneNodeParseXML(virDomainNumaPtr *numatunePtr,
+virDomainNumatuneNodeParseXML(virDomainNumaPtr numa,
                               size_t ncells,
                               xmlXPathContextPtr ctxt)
 {
@@ -90,7 +90,6 @@ virDomainNumatuneNodeParseXML(virDomainNumaPtr *numatunePtr,
     int n = 0;
     int ret = -1;
     size_t i = 0;
-    virDomainNumaPtr numatune = *numatunePtr;
     xmlNodePtr *nodes = NULL;
 
     if ((n = virXPathNodeSet("./numatune/memnode", ctxt, &nodes)) < 0) {
@@ -102,8 +101,8 @@ virDomainNumatuneNodeParseXML(virDomainNumaPtr *numatunePtr,
     if (!n)
         return 0;
 
-    if (numatune && numatune->memory.specified &&
-        numatune->memory.placement == VIR_DOMAIN_NUMATUNE_PLACEMENT_AUTO) {
+    if (numa->memory.specified &&
+        numa->memory.placement == VIR_DOMAIN_NUMATUNE_PLACEMENT_AUTO) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                        _("Per-node binding is not compatible with "
                          "automatic NUMA placement."));
@@ -117,11 +116,11 @@ virDomainNumatuneNodeParseXML(virDomainNumaPtr *numatunePtr,
         goto cleanup;
     }
 
-    VIR_FREE(numatune->mem_nodes);
-    if (VIR_ALLOC_N(numatune->mem_nodes, ncells) < 0)
+    VIR_FREE(numa->mem_nodes);
+    if (VIR_ALLOC_N(numa->mem_nodes, ncells) < 0)
         goto cleanup;
 
-    numatune->nmem_nodes = ncells;
+    numa->nmem_nodes = ncells;
 
     for (i = 0; i < n; i++) {
         int mode = 0;
@@ -144,14 +143,14 @@ virDomainNumatuneNodeParseXML(virDomainNumaPtr *numatunePtr,
         }
         VIR_FREE(tmp);
 
-        if (cellid >= numatune->nmem_nodes) {
+        if (cellid >= numa->nmem_nodes) {
             virReportError(VIR_ERR_XML_ERROR, "%s",
                            _("Argument 'cellid' in memnode element must "
                              "correspond to existing guest's NUMA cell"));
             goto cleanup;
         }
 
-        mem_node = &numatune->mem_nodes[cellid];
+        mem_node = &numa->mem_nodes[cellid];
 
         if (mem_node->nodeset) {
             virReportError(VIR_ERR_XML_ERROR,
@@ -194,7 +193,7 @@ virDomainNumatuneNodeParseXML(virDomainNumaPtr *numatunePtr,
 }
 
 int
-virDomainNumatuneParseXML(virDomainNumaPtr *numatunePtr,
+virDomainNumatuneParseXML(virDomainNumaPtr numa,
                           bool placement_static,
                           size_t ncells,
                           xmlXPathContextPtr ctxt)
@@ -245,14 +244,14 @@ virDomainNumatuneParseXML(virDomainNumaPtr *numatunePtr,
         VIR_FREE(tmp);
     }
 
-    if (virDomainNumatuneSet(*numatunePtr,
+    if (virDomainNumatuneSet(numa,
                              placement_static,
                              placement,
                              mode,
                              nodeset) < 0)
         goto cleanup;
 
-    if (virDomainNumatuneNodeParseXML(numatunePtr, ncells, ctxt) < 0)
+    if (virDomainNumatuneNodeParseXML(numa, ncells, ctxt) < 0)
         goto cleanup;
 
     ret = 0;
index 9bcacb0b55c50251e1aee9547bdac9f6f40f0f87..5fa1b9a9b4cda5a19b872fc752de2d037a47b6ce 100644 (file)
@@ -62,7 +62,7 @@ void virDomainNumaFree(virDomainNumaPtr numa);
 /*
  * XML Parse/Format functions
  */
-int virDomainNumatuneParseXML(virDomainNumaPtr *numatunePtr,
+int virDomainNumatuneParseXML(virDomainNumaPtr numa,
                               bool placement_static,
                               size_t ncells,
                               xmlXPathContextPtr ctxt)