On Fri, Jan 08, 2010 at 09:35:36AM +0100, Guido Günther wrote:
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(a)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
--
Looks safe to me, assuming the kernel information are exported in the
same way,
ACK
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/