diff --git a/ChangeLog b/ChangeLog index 0298404730..6c39f349cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Jun 26 22:02:22 CEST 2009 Daniel Veillard + + * src/nodeinfo.c: sometimes libnuma can't handle some topologies, + but those failures should not completely break libvirt, patch + by Dan Berrange, fixes #506590 + Fri Jun 26 20:11:38 CEST 2009 Daniel Veillard * src/xend_internal.c: avoid a segfault when dumping XML with recent diff --git a/src/nodeinfo.c b/src/nodeinfo.c index e4863bbbf1..3d918d191d 100644 --- a/src/nodeinfo.c +++ b/src/nodeinfo.c @@ -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))