[libvirt] [PATCH] don't break on libnuma failures
Daniel Veillard
veillard at redhat.com
Fri Jun 26 20:08:10 UTC 2009
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 at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
-------------- next part --------------
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))
More information about the libvir-list
mailing list