From f13e4c36c2246eba5afae482c9bb60dc8c0b719d Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 1 Oct 2008 19:00:55 +0200 Subject: [PATCH] udevd: print warning if CONFIG_SYSFS_DEPRECATED is used Future udev versions will depend on the current sysfs layout, which includes features which are not available in the deprecated mode. --- TODO | 3 +-- udev/udevd.c | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index b3254155c..f960f2431 100644 --- a/TODO +++ b/TODO @@ -1,10 +1,9 @@ + o handle spaces in SYMLINK+=, do not create multiple links o use libudev device in udev_rules.c get rid of udevice, store rule matching state in rule iterator o rework rules to a match-action list, instead of a rules array o add DVB variables to kernel, and drop shell script rule o add watershed extra - o log warning if /sys/block/ does, but /sys/class/block/ does not exist, - udev will depend on the non-deprecated sysfs layout in a future release o DEVTYPE for disks is set by the kernel, they will be removed from the default rules o "udevadm control" commands will only accept the -- syntax diff --git a/udev/udevd.c b/udev/udevd.c index 1f8483c30..9783fe4e7 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -953,9 +953,21 @@ int main(int argc, char *argv[]) fd = open("/dev/kmsg", O_WRONLY); if (fd > 0) { - const char *str = "<6>udevd version " VERSION " started\n"; - - write(fd, str, strlen(str)); + const char *ver_str = "<6>udev: starting version " VERSION "\n"; + char path[UTIL_PATH_SIZE]; + struct stat statbuf; + + write(fd, ver_str, strlen(ver_str)); + util_strlcpy(path, udev_get_sys_path(udev), sizeof(path)); + util_strlcat(path, "/class/mem/null", sizeof(path)); + if (lstat(path, &statbuf) == 0) { + if (S_ISDIR(statbuf.st_mode)) { + const char *depr_str = "<6>udev: deprecated sysfs layout " + "(CONFIG_SYSFS_DEPRECATED) is unsupported\n"; + + write(fd, depr_str, strlen(depr_str)); + } + } close(fd); } -- 2.30.2