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:
parent
ac9b4baac5
commit
3c1898863f
@ -29,7 +29,7 @@ CLEANFILES =
|
||||
# libudev
|
||||
# ------------------------------------------------------------------------------
|
||||
LIBUDEV_CURRENT=5
|
||||
LIBUDEV_REVISION=1
|
||||
LIBUDEV_REVISION=2
|
||||
LIBUDEV_AGE=5
|
||||
|
||||
SUBDIRS += libudev/docs
|
||||
|
5
NEWS
5
NEWS
@ -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
1
TODO
@ -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
|
||||
|
@ -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, '/');
|
||||
|
@ -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;
|
||||
}
|
||||
|
34
udev/udevd.c
34
udev/udevd.c
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user