chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add link_priority to rule options, and store it in database
[elogind.git]
/
udev_db.c
diff --git
a/udev_db.c
b/udev_db.c
index 13d96894afdd6c9b7cd4effe679285f8f0d1f1b5..5ac016a051e904e819e7279a9431c1261fde54ce 100644
(file)
--- a/
udev_db.c
+++ b/
udev_db.c
@@
-118,6
+118,8
@@
int udev_db_add_device(struct udevice *udev)
name_index(udev->dev->devpath, name_loop->name, 1);
}
fprintf(f, "M:%u:%u\n", major(udev->devt), minor(udev->devt));
name_index(udev->dev->devpath, name_loop->name, 1);
}
fprintf(f, "M:%u:%u\n", major(udev->devt), minor(udev->devt));
+ if (udev->link_priority)
+ fprintf(f, "L:%u\n", udev->link_priority);
if (udev->partitions)
fprintf(f, "A:%u\n", udev->partitions);
if (udev->ignore_remove)
if (udev->partitions)
fprintf(f, "A:%u\n", udev->partitions);
if (udev->ignore_remove)
@@
-198,6
+200,13
@@
int udev_db_get_device(struct udevice *udev, const char *devpath)
line[count-2] = '\0';
name_list_add(&udev->symlink_list, line, 0);
break;
line[count-2] = '\0';
name_list_add(&udev->symlink_list, line, 0);
break;
+ case 'L':
+ if (count > sizeof(line))
+ count = sizeof(line);
+ memcpy(line, &bufline[2], count-2);
+ line[count-2] = '\0';
+ udev->link_priority = atoi(line);
+ break;
case 'A':
if (count > sizeof(line))
count = sizeof(line);
case 'A':
if (count > sizeof(line))
count = sizeof(line);