[libvirt] [PATCH] util: Error out if the numa nodeset is out of range

Osier Yang jyang at redhat.com
Mon Apr 22 07:14:56 UTC 2013


Instead of a silent warning, it's better to error out if the
numa nodeset is out of range. Just like for numa node larger
than NUMA_NUM_NODES.
---
 src/util/virnuma.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/util/virnuma.c b/src/util/virnuma.c
index bace06f..902ed43 100644
--- a/src/util/virnuma.c
+++ b/src/util/virnuma.c
@@ -89,7 +89,6 @@ virNumaSetupMemoryPolicy(virNumaTuneDef numatune,
     int ret = -1;
     int i = 0;
     int maxnode = 0;
-    bool warned = false;
     virBitmapPtr tmp_nodemask = NULL;
 
     if (numatune.memory.placement_mode ==
@@ -113,20 +112,17 @@ virNumaSetupMemoryPolicy(virNumaTuneDef numatune,
     }
 
     maxnode = numa_max_node() + 1;
+
     /* Convert nodemask to NUMA bitmask. */
     nodemask_zero(&mask);
     i = -1;
     while ((i = virBitmapNextSetBit(tmp_nodemask, i)) >= 0) {
-        if (i > NUMA_NUM_NODES) {
+        if (i > maxnode || i > NUMA_NUM_NODES) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("Host cannot support NUMA node %d"), i);
+                           _("Nodeset is out of range, host cannot support "
+                             "NUMA node bigger than %d"), i);
             return -1;
         }
-        if (i > maxnode && !warned) {
-            VIR_WARN("nodeset is out of range, there is only %d NUMA "
-                     "nodes on host", maxnode);
-            warned = true;
-        }
         nodemask_set(&mask, i);
     }
 
-- 
1.8.1.4




More information about the libvir-list mailing list