1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-30 14:55:26 +03:00

[PATCH] add a "first" list to udevstart and make it contain the class/mem/ devices

Seems some programs really want /dev/null to work properly :)
This commit is contained in:
greg@kroah.com 2004-09-10 21:44:15 -07:00 committed by Greg KH
parent 41bc97a0ad
commit 70f630f64b

View File

@ -80,15 +80,33 @@ static char *last_list[] = {
NULL, NULL,
}; };
/* list of devices that we should run first due to any one of a number of reasons */
static char *first_list[] = {
"/class/mem", /* people tend to like their memory devices around first... */
NULL,
};
static void exec_list(struct list_head *device_list) static void exec_list(struct list_head *device_list)
{ {
struct device *loop_device; struct device *loop_device;
struct device *tmp_device; struct device *tmp_device;
int i;
/* handle the "first" type devices first */
list_for_each_entry_safe(loop_device, tmp_device, device_list, list) {
for (i=0; first_list[i] != NULL; i++) {
if (strncmp(loop_device->path, first_list[i], strlen(first_list[i])) == 0) {
udev_add_device(loop_device->path, loop_device->subsys, NOFAKE);
list_del(&loop_device->list);
free(loop_device);
break;
}
}
}
/* handle the devices we are allowed to, excluding the "last" type devices */ /* handle the devices we are allowed to, excluding the "last" type devices */
list_for_each_entry_safe(loop_device, tmp_device, device_list, list) { list_for_each_entry_safe(loop_device, tmp_device, device_list, list) {
int found = 0; int found = 0;
int i;
for (i=0; last_list[i] != NULL; i++) { for (i=0; last_list[i] != NULL; i++) {
if (strncmp(loop_device->path, last_list[i], strlen(last_list[i])) == 0) { if (strncmp(loop_device->path, last_list[i], strlen(last_list[i])) == 0) {
found = 1; found = 1;