The check for missing topology information fails if and only if the
system doesn't support NUMA. We reach the check only when
sys_interface_version is high enough for NUMA. In other words, the
check fails when sys_interface_version incorrectly indicates NUMA
support, and it turns that condition from a recoverable oddity into a
fatal error.
The previous commit enabled NUMA for RHEL-5 regardless of version, and
thus made old versions that don't support NUMA trip this check.
Because the check looks quite worthless to me, I remove it instead of
adding a special case for RHEL.
Signed-off-by: Markus Armbruster <armbru(a)redhat.com>
---
src/xend_internal.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/xend_internal.c b/src/xend_internal.c
index 9b9f98d..096e22f 100644
--- a/src/xend_internal.c
+++ b/src/xend_internal.c
@@ -2546,6 +2546,8 @@ sexpr_to_xend_node_info(const struct sexpr *root, virNodeInfoPtr
info)
* Internal routine populating capability info with
* NUMA node mapping details
*
+ * Does nothing when the system doesn't support NUMA (not an error).
+ *
* Returns 0 in case of success, -1 in case of error
*/
static int
@@ -2562,11 +2564,8 @@ sexpr_to_xend_topology(virConnectPtr conn,
int numCpus;
nodeToCpu = sexpr_node(root, "node/node_to_cpu");
- if (nodeToCpu == NULL) {
- virXendError(conn, VIR_ERR_INTERNAL_ERROR,
- "%s", _("failed to parse topology
information"));
- return -1;
- }
+ if (nodeToCpu == NULL)
+ return 0; /* no NUMA support */
numCpus = sexpr_int(root, "node/nr_cpus");
--
1.5.4.3