[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH] don't break on libnuma failures



  Another patch hanging in bugzilla:
   https://bugzilla.redhat.com/show_bug.cgi?id=506590

sometimes libnuma can't handle some topologies,
but those failures should not completely break libvirt, patch
by Dan Berrange. Look sane to me, fixes the main problem for
the reporter, so I applied and commited it,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel veillard com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/
Index: src/nodeinfo.c
===================================================================
RCS file: /data/cvs/libvirt/src/nodeinfo.c,v
retrieving revision 1.20
diff -u -p -r1.20 nodeinfo.c
--- src/nodeinfo.c	15 Jun 2009 17:15:55 -0000	1.20
+++ src/nodeinfo.c	18 Jun 2009 11:58:37 -0000
@@ -43,6 +43,7 @@
 #include "nodeinfo.h"
 #include "physmem.h"
 #include "util.h"
+#include "logging.h"
 #include "virterror_internal.h"
 
 
@@ -206,8 +207,11 @@ nodeCapsInitNUMA(virCapsPtr caps)
     for (n = 0 ; n <= numa_max_node() ; n++) {
         int i;
         int ncpus;
-        if (numa_node_to_cpus(n, mask, mask_n_bytes) < 0)
-            goto cleanup;
+        if (numa_node_to_cpus(n, mask, mask_n_bytes) < 0) {
+            VIR_WARN("NUMA topology for cell %d of %d not available, ignoring",
+                     n, numa_max_node());
+            continue;
+        }
 
         for (ncpus = 0, i = 0 ; i < max_n_cpus ; i++)
             if (MASK_CPU_ISSET(mask, i))

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]