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

[libvirt] [PATCH] look for DMI information in /sys/class too



Hi,
attached patch looks for the DMI information in /sys/class since older
kernels (e.g. 2.6.26) have it there.
Cheers,
 -- Guido
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx sigxcpu org>
Date: Thu, 7 Jan 2010 10:13:51 +0100
Subject: [PATCH] Also look for dmi information in /sys/class

older kernels such as 2.6.26 have it there.
---
 src/node_device/node_device_udev.c |    7 ++++++-
 src/node_device/node_device_udev.h |    1 +
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 22c5f2b..7a9c1e5 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1407,7 +1407,12 @@ static int udevSetupSystemDev(void)
     device = udev_device_new_from_syspath(udev, DMI_DEVPATH);
     if (device == NULL) {
         VIR_ERROR("Failed to get udev device for syspath '%s'\n", DMI_DEVPATH);
-        goto out;
+
+        device = udev_device_new_from_syspath(udev, DMI_DEVPATH_FALLBACK);
+        if (device == NULL) {
+            VIR_ERROR("Failed to get udev device for syspath '%s'\n", DMI_DEVPATH_FALLBACK);
+            goto out;
+        }
     }
 
     data = &def->caps->data;
diff --git a/src/node_device/node_device_udev.h b/src/node_device/node_device_udev.h
index 0fd39ae..6c83412 100644
--- a/src/node_device/node_device_udev.h
+++ b/src/node_device/node_device_udev.h
@@ -26,6 +26,7 @@
 #define SYSFS_DATA_SIZE 4096
 #define DRV_STATE_UDEV_MONITOR(ds) ((struct udev_monitor *)((ds)->privateData))
 #define DMI_DEVPATH "/sys/devices/virtual/dmi/id"
+#define DMI_DEVPATH_FALLBACK "/sys/class/dmi/id"
 #define PROPERTY_FOUND 0
 #define PROPERTY_MISSING 1
 #define PROPERTY_ERROR -1
-- 

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