[PATCH] Also look for dmi information in /sys/class

Guido Günther agx at sigxcpu.org
Thu Jan 7 09:13:51 UTC 2010


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
-- 
1.6.6


--OXfL5xGRrasGEqWY--





More information about the Pkg-libvirt-maintainers mailing list