[libvirt] [PATCH] Cope with missing /sys/devices/system/cpu/cpu0/topology files

Daniel P. Berrange berrange at redhat.com
Wed Apr 3 19:31:19 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

Not all kernel builds have any entries under the location
/sys/devices/system/cpu/cpu0/topology. We already cope with
that being missing in some cases, but not all. Update the
code which looks for thread_siblings to cope with the missing
file

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 src/nodeinfo.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index 415c2e5..72ab394 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -168,6 +168,12 @@ virNodeCountThreadSiblings(const char *dir, unsigned int cpu)
 
     pathfp = fopen(path, "r");
     if (pathfp == NULL) {
+        /* If file doesn't exist, then pretend our only
+         * sibling is ourself */
+        if (errno == ENOENT) {
+            VIR_FREE(path);
+            return 1;
+        }
         virReportSystemError(errno, _("cannot open %s"), path);
         VIR_FREE(path);
         return 0;
-- 
1.8.1.4




More information about the libvir-list mailing list