struct name_entry *name_loop;
dbg("found parent '%s', get the node name", dev_parent->devpath);
- udev_parent = udev_device_init();
+ udev_parent = udev_device_init(NULL);
if (udev_parent == NULL)
return -1;
/* import the udev_db of the parent */
info("file '%s' appeared after %i loops", filepath, (timeout * WAIT_LOOP_PER_SECOND) - loop-1);
return 0;
}
- /* make sure the device does not have disappeared in the meantime */
+ /* make sure, the device did not disappear in the meantime */
if (stat(devicepath, &stats) != 0) {
info("device disappeared while waiting for '%s'", filepath);
return -2;
struct udevice *udev_parent;
dbg("found parent '%s', get the node name", dev_parent->devpath);
- udev_parent = udev_device_init();
+ udev_parent = udev_device_init(NULL);
if (udev_parent != NULL) {
/* lookup the name in the udev_db with the DEVPATH of the parent */
if (udev_db_get_device(udev_parent, dev_parent->devpath) == 0) {
info("writing '%s' to sysfs file '%s'", value, attr);
f = fopen(attr, "w");
if (f != NULL) {
- if (fprintf(f, "%s", value) <= 0)
- err("error writing ATTR{%s}: %s", attr, strerror(errno));
+ if (!udev->test_run)
+ if (fprintf(f, "%s", value) <= 0)
+ err("error writing ATTR{%s}: %s", attr, strerror(errno));
fclose(f);
} else
err("error opening ATTR{%s} for writing: %s", attr, strerror(errno));
udev->ignore_remove = 1;
dbg("remove event should be ignored");
}
+ if (rule->link_priority) {
+ udev->link_priority = rule->link_priority;
+ info("link_priority=%i", udev->link_priority);
+ }
/* apply all_partitions option only at a main block device */
if (rule->partitions &&
strcmp(udev->dev->subsystem, "block") == 0 && udev->dev->kernel_number[0] == '\0') {