chiark / gitweb /
add link_priority to rule options, and store it in database
[elogind.git] / 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));
+               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)
@@ -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;
+               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);