1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-22 06:50:18 +03:00

remove remaining support for CONFIG_SYSFS_DEPRECATED

This commit is contained in:
Kay Sievers 2009-12-15 16:14:14 +01:00
parent ac9b4baac5
commit 3c1898863f
6 changed files with 13 additions and 54 deletions

View File

@ -29,7 +29,7 @@ CLEANFILES =
# libudev
# ------------------------------------------------------------------------------
LIBUDEV_CURRENT=5
LIBUDEV_REVISION=1
LIBUDEV_REVISION=2
LIBUDEV_AGE=5
SUBDIRS += libudev/docs

5
NEWS
View File

@ -2,6 +2,11 @@ udev 150
========
Bugfixes.
Kernels with SYSFS_DEPRECATED=y are not supported since a while. Many users
depend on the current sysfs layout and the information not available in the
deprecated layout. All remaining support for the deprecated sysfs layout is
removed now.
udev 149
========
Fix for a possible endless loop in the new input_id program.

1
TODO
View File

@ -3,5 +3,4 @@
o get rid of "scan all devices to find myself" libusb interface
if it can not be fixed, drop libusb entirely and add a simple
wrapper around the Linux usb ioctls we need
o drop all support for the DEPRECATED sysfs layout
o remove deprecated BUS=, SYSFS{}=, ID= keys

View File

@ -508,20 +508,9 @@ static struct udev_device *device_new_from_parent(struct udev_device *udev_devic
char path[UTIL_PATH_SIZE];
const char *subdir;
/* follow "device" link in deprecated sys layout */
if (strncmp(udev_device->devpath, "/class/", 7) == 0 ||
strncmp(udev_device->devpath, "/block/", 7) == 0) {
util_strscpyl(path, sizeof(path), udev_device->syspath, "/device", NULL);
if (util_resolve_sys_link(udev_device->udev, path, sizeof(path)) == 0) {
udev_device_parent = udev_device_new_from_syspath(udev_device->udev, path);
if (udev_device_parent != NULL)
return udev_device_parent;
}
}
util_strscpy(path, sizeof(path), udev_device->syspath);
subdir = &path[strlen(udev_get_sys_path(udev_device->udev))+1];
while (1) {
for (;;) {
char *pos;
pos = strrchr(subdir, '/');

View File

@ -685,18 +685,6 @@ int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerate)
scan_dir(udev_enumerate, "bus", "devices", NULL);
dbg(udev, "searching '/class/*' dir\n");
scan_dir(udev_enumerate, "class", NULL, NULL);
/* if block isn't a class, scan /block/ */
util_strscpyl(base, sizeof(base), udev_get_sys_path(udev), "/class/block", NULL);
if (stat(base, &statbuf) != 0) {
if (match_subsystem(udev_enumerate, "block")) {
dbg(udev, "searching '/block/*' dir\n");
/* scan disks */
scan_dir_and_add_devices(udev_enumerate, "block", NULL, NULL);
/* scan partitions */
dbg(udev, "searching '/block/*/*' dir\n");
scan_dir(udev_enumerate, "block", NULL, "block");
}
}
}
return 0;
}

View File

@ -764,37 +764,11 @@ static void handle_signal(struct udev *udev, int signo)
}
}
static void startup_log(struct udev *udev)
{
FILE *f;
char path[UTIL_PATH_SIZE];
struct stat statbuf;
f = fopen("/dev/kmsg", "w");
if (f != NULL)
fprintf(f, "<6>udev: starting version " VERSION "\n");
util_strscpyl(path, sizeof(path), udev_get_sys_path(udev), "/class/mem/null", NULL);
if (lstat(path, &statbuf) == 0 && S_ISDIR(statbuf.st_mode)) {
const char *depr_str =
"udev: missing sysfs features; please update the kernel "
"or disable the kernel's CONFIG_SYSFS_DEPRECATED option; "
"udev may fail to work correctly";
if (f != NULL)
fprintf(f, "<3>%s\n", depr_str);
err(udev, "%s\n", depr_str);
sleep(15);
}
if (f != NULL)
fclose(f);
}
int main(int argc, char *argv[])
{
struct udev *udev;
int fd;
FILE *f;
sigset_t mask;
const char *value;
int daemonize = false;
@ -988,7 +962,11 @@ int main(int argc, char *argv[])
}
}
startup_log(udev);
f = fopen("/dev/kmsg", "w");
if (f != NULL) {
fprintf(f, "<6>udev: starting version " VERSION "\n");
fclose(f);
}
/* redirect std{out,err} */
if (!debug && !debug_trace) {