int device_set_devtype(sd_device *device, const char *devtype);
int device_set_devnum(sd_device *device, const char *major, const char *minor);
int device_set_subsystem(sd_device *device, const char *subsystem);
+int device_set_diskseq(sd_device *device, const char *str);
int device_set_drivers_subsystem(sd_device *device);
int device_set_driver(sd_device *device, const char *driver);
int device_set_usec_initialized(sd_device *device, usec_t when);
return 0;
}
-static int device_set_diskseq(sd_device *device, const char *str) {
- uint64_t diskseq;
- int r;
-
- assert(device);
- assert(str);
-
- r = safe_atou64(str, &diskseq);
- if (r < 0)
- return r;
- if (diskseq == 0)
- return -EINVAL;
-
- r = device_add_property_internal(device, "DISKSEQ", str);
- if (r < 0)
- return r;
-
- device->diskseq = diskseq;
-
- return 0;
-}
-
static int device_amend(sd_device *device, const char *key, const char *value) {
int r;
return 0;
}
-static int handle_uevent_line(sd_device *device, const char *key, const char *value, const char **major, const char **minor) {
+int device_set_diskseq(sd_device *device, const char *str) {
+ uint64_t diskseq;
+ int r;
+
+ assert(device);
+ assert(str);
+
+ r = safe_atou64(str, &diskseq);
+ if (r < 0)
+ return r;
+ if (diskseq == 0)
+ return -EINVAL;
+
+ r = device_add_property_internal(device, "DISKSEQ", str);
+ if (r < 0)
+ return r;
+
+ device->diskseq = diskseq;
+
+ return 0;
+}
+
+static int handle_uevent_line(
+ sd_device *device,
+ const char *key,
+ const char *value,
+ const char **major,
+ const char **minor) {
int r;
assert(device);
r = device_set_devmode(device, value);
if (r < 0)
return r;
+ } else if (streq(key, "DISKSEQ")) {
+ r = device_set_diskseq(device, value);
+ if (r < 0)
+ return r;
} else if (streq(key, "MAJOR"))
*major = value;
else if (streq(key, "MINOR"))