static int node_symlink(sd_device *dev, const char *node, const char *slink) {
_cleanup_free_ char *slink_dirname = NULL, *target = NULL;
- const char *id_filename, *slink_tmp;
+ const char *id, *slink_tmp;
struct stat stats;
int r;
}
log_device_debug(dev, "Atomically replace '%s'", slink);
- r = device_get_id_filename(dev, &id_filename);
+ r = device_get_device_id(dev, &id);
if (r < 0)
- return log_device_error_errno(dev, r, "Failed to get id_filename: %m");
- slink_tmp = strjoina(slink, ".tmp-", id_filename);
+ return log_device_error_errno(dev, r, "Failed to get device id: %m");
+ slink_tmp = strjoina(slink, ".tmp-", id);
(void) unlink(slink_tmp);
do {
r = mkdir_parents_label(slink_tmp, 0755);
FOREACH_DIRENT_ALL(dent, dir, break) {
_cleanup_(sd_device_unrefp) sd_device *dev_db = NULL;
- const char *devnode, *id_filename;
+ const char *devnode, *id;
int db_prio = 0;
if (dent->d_name[0] == '\0')
log_device_debug(dev, "Found '%s' claiming '%s'", dent->d_name, stackdir);
- if (device_get_id_filename(dev, &id_filename) < 0)
+ if (device_get_device_id(dev, &id) < 0)
continue;
/* did we find ourself? */
- if (streq(dent->d_name, id_filename))
+ if (streq(dent->d_name, id))
continue;
if (sd_device_new_from_device_id(&dev_db, dent->d_name) < 0)
static int link_update(sd_device *dev, const char *slink, bool add) {
_cleanup_free_ char *filename = NULL, *dirname = NULL;
char name_enc[PATH_MAX];
- const char *id_filename;
+ const char *id;
int i, r, retries;
assert(dev);
assert(slink);
- r = device_get_id_filename(dev, &id_filename);
+ r = device_get_device_id(dev, &id);
if (r < 0)
- return log_device_debug_errno(dev, r, "Failed to get id_filename: %m");
+ return log_device_debug_errno(dev, r, "Failed to get device id: %m");
escape_path(slink + STRLEN("/dev"), name_enc, sizeof(name_enc));
dirname = path_join("/run/udev/links/", name_enc);
if (!dirname)
return log_oom();
- filename = path_join(dirname, id_filename);
+ filename = path_join(dirname, id);
if (!filename)
return log_oom();
static int node_permissions_apply(sd_device *dev, bool apply_mac,
mode_t mode, uid_t uid, gid_t gid,
OrderedHashmap *seclabel_list) {
- const char *devnode, *subsystem, *id_filename = NULL;
+ const char *devnode, *subsystem, *id = NULL;
bool apply_mode, apply_uid, apply_gid;
_cleanup_close_ int node_fd = -1;
struct stat stats;
r = sd_device_get_devnum(dev, &devnum);
if (r < 0)
return log_device_debug_errno(dev, r, "Failed to get devnum: %m");
- (void) device_get_id_filename(dev, &id_filename);
+ (void) device_get_device_id(dev, &id);
if (streq(subsystem, "block"))
mode |= S_IFBLK;
if ((mode != MODE_INVALID && (stats.st_mode & S_IFMT) != (mode & S_IFMT)) || stats.st_rdev != devnum) {
log_device_debug(dev, "Found node '%s' with non-matching devnum %s, skipping handling.",
- devnode, id_filename);
+ devnode, strna(id));
return 0; /* We might process a device that already got replaced by the time we have a look
* at it, handle this gracefully and step away. */
}
return log_device_debug_errno(dev, r, "Failed to get devnode: %m");
if (DEBUG_LOGGING) {
- const char *id_filename = NULL;
+ const char *id = NULL;
- (void) device_get_id_filename(dev, &id_filename);
- log_device_debug(dev, "Handling device node '%s', devnum=%s", devnode, strnull(id_filename));
+ (void) device_get_device_id(dev, &id);
+ log_device_debug(dev, "Handling device node '%s', devnum=%s", devnode, strna(id));
}
r = node_permissions_apply(dev, apply, mode, uid, gid, seclabel_list);
FOREACH_DIRENT_ALL(ent, dir, break) {
_cleanup_(sd_device_unrefp) sd_device *dev = NULL;
- _cleanup_free_ char *device = NULL;
+ _cleanup_free_ char *id = NULL;
if (ent->d_name[0] == '.')
continue;
- r = readlinkat_malloc(dirfd(dir), ent->d_name, &device);
+ r = readlinkat_malloc(dirfd(dir), ent->d_name, &id);
if (r < 0) {
log_debug_errno(r, "Failed to read link '/run/udev/watch.old/%s', ignoring: %m", ent->d_name);
goto unlink;
}
- r = sd_device_new_from_device_id(&dev, device);
+ r = sd_device_new_from_device_id(&dev, id);
if (r < 0) {
- log_debug_errno(r, "Failed to create sd_device object for '%s', ignoring: %m", device);
+ log_debug_errno(r, "Failed to create sd_device object for '%s', ignoring: %m", id);
goto unlink;
}
int udev_watch_begin(int inotify_fd, sd_device *dev) {
char filename[STRLEN("/run/udev/watch/") + DECIMAL_STR_MAX(int)];
- const char *devnode, *id_filename;
+ const char *devnode, *id;
int wd, r;
assert(inotify_fd >= 0);
return log_device_error_errno(dev, r, "Failed to create parent directory of '%s': %m", filename);
(void) unlink(filename);
- r = device_get_id_filename(dev, &id_filename);
+ r = device_get_device_id(dev, &id);
if (r < 0)
return log_device_error_errno(dev, r, "Failed to get device id-filename: %m");
- if (symlink(id_filename, filename) < 0)
+ if (symlink(id, filename) < 0)
return log_device_error_errno(dev, errno, "Failed to create symlink %s: %m", filename);
return 0;
int udev_watch_lookup(int wd, sd_device **ret) {
char filename[STRLEN("/run/udev/watch/") + DECIMAL_STR_MAX(int)];
- _cleanup_free_ char *device = NULL;
+ _cleanup_free_ char *id = NULL;
int r;
assert(wd >= 0);
assert(ret);
xsprintf(filename, "/run/udev/watch/%d", wd);
- r = readlink_malloc(filename, &device);
+ r = readlink_malloc(filename, &id);
if (r == -ENOENT)
return 0;
if (r < 0)
return log_debug_errno(r, "Failed to read link '%s': %m", filename);
- r = sd_device_new_from_device_id(ret, device);
+ r = sd_device_new_from_device_id(ret, id);
if (r == -ENODEV)
return 0;
if (r < 0)
- return log_debug_errno(r, "Failed to create sd_device object for '%s': %m", device);
+ return log_debug_errno(r, "Failed to create sd_device object for '%s': %m", id);
return 1;
}