From 87a9a197edf34ba7fdd64c3745e5a3fdd2386a68 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:13:23 +0900 Subject: [PATCH 01/11] backlight: use log_device_*() --- src/backlight/backlight.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c index fb8e3742e8..c517c52995 100644 --- a/src/backlight/backlight.c +++ b/src/backlight/backlight.c @@ -216,14 +216,14 @@ static int get_max_brightness(sd_device *device, unsigned *ret) { r = sd_device_get_sysattr_value(device, "max_brightness", &max_brightness_str); if (r < 0) - return log_warning_errno(r, "Failed to read 'max_brightness' attribute: %m"); + return log_device_warning_errno(device, r, "Failed to read 'max_brightness' attribute: %m"); r = safe_atou(max_brightness_str, &max_brightness); if (r < 0) - return log_warning_errno(r, "Failed to parse 'max_brightness' \"%s\": %m", max_brightness_str); + return log_device_warning_errno(device, r, "Failed to parse 'max_brightness' \"%s\": %m", max_brightness_str); if (max_brightness <= 0) { - log_warning("Maximum brightness is 0, ignoring device."); + log_device_warning(device, "Maximum brightness is 0, ignoring device."); return -EINVAL; } @@ -246,11 +246,11 @@ static int clamp_brightness(sd_device *device, char **value, unsigned max_bright r = safe_atou(*value, &brightness); if (r < 0) - return log_warning_errno(r, "Failed to parse brightness \"%s\": %m", *value); + return log_device_warning_errno(device, r, "Failed to parse brightness \"%s\": %m", *value); r = sd_device_get_subsystem(device, &subsystem); if (r < 0) - return log_warning_errno(r, "Failed to get device subsystem: %m"); + return log_device_warning_errno(device, r, "Failed to get device subsystem: %m"); if (streq(subsystem, "backlight")) min_brightness = MAX(1U, max_brightness/20); @@ -265,10 +265,10 @@ static int clamp_brightness(sd_device *device, char **value, unsigned max_bright if (r < 0) return log_oom(); - log_info("Saved brightness %s %s to %s.", *value, - new_brightness > brightness ? - "too low; increasing" : "too high; decreasing", - new_value); + log_device_info(device, "Saved brightness %s %s to %s.", *value, + new_brightness > brightness ? + "too low; increasing" : "too high; decreasing", + new_value); free_and_replace(*value, new_value); } @@ -283,12 +283,14 @@ static bool shall_clamp(sd_device *d) { assert(d); r = sd_device_get_property_value(d, "ID_BACKLIGHT_CLAMP", &s); - if (r < 0) + if (r < 0) { + log_device_debug_errno(d, r, "Failed to get ID_BACKLIGHT_CLAMP property, ignoring: %m"); return true; + } r = parse_boolean(s); if (r < 0) { - log_debug_errno(r, "Failed to parse ID_BACKLIGHT_CLAMP property, ignoring: %m"); + log_device_debug_errno(d, r, "Failed to parse ID_BACKLIGHT_CLAMP property, ignoring: %m"); return true; } @@ -402,7 +404,7 @@ int main(int argc, char *argv[]) { r = sd_device_get_sysattr_value(device, "brightness", &curval); if (r < 0) { - log_warning_errno(r, "Failed to read 'brightness' attribute: %m"); + log_device_warning_errno(device, r, "Failed to read 'brightness' attribute: %m"); return EXIT_FAILURE; } @@ -421,7 +423,7 @@ int main(int argc, char *argv[]) { r = sd_device_set_sysattr_value(device, "brightness", value); if (r < 0) { - log_error_errno(r, "Failed to write system 'brightness' attribute: %m"); + log_device_error_errno(device, r, "Failed to write system 'brightness' attribute: %m"); return EXIT_FAILURE; } @@ -435,13 +437,13 @@ int main(int argc, char *argv[]) { r = sd_device_get_sysattr_value(device, "brightness", &value); if (r < 0) { - log_error_errno(r, "Failed to read system 'brightness' attribute: %m"); + log_device_error_errno(device, r, "Failed to read system 'brightness' attribute: %m"); return EXIT_FAILURE; } r = write_string_file(saved, value, WRITE_STRING_FILE_CREATE); if (r < 0) { - log_error_errno(r, "Failed to write %s: %m", saved); + log_device_error_errno(device, r, "Failed to write %s: %m", saved); return EXIT_FAILURE; } From 71f79b56cfa9000d5baea08e00235f4289f31000 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:30:51 +0900 Subject: [PATCH 02/11] core/device: use log_device_*() --- src/core/device.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/core/device.c b/src/core/device.c index 82e38853ab..bd69fa029a 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -431,7 +431,7 @@ static bool device_is_bound_by_mounts(Device *d, sd_device *dev) { if (sd_device_get_property_value(dev, "SYSTEMD_MOUNT_DEVICE_BOUND", &bound_by) >= 0) { r = parse_boolean(bound_by); if (r < 0) - log_warning_errno(r, "Failed to parse SYSTEMD_MOUNT_DEVICE_BOUND='%s' udev property of %s, ignoring: %m", bound_by, strna(d->sysfs)); + log_device_warning_errno(dev, r, "Failed to parse SYSTEMD_MOUNT_DEVICE_BOUND='%s' udev property, ignoring: %m", bound_by); d->bind_mounts = r > 0; } else @@ -471,14 +471,14 @@ static int device_setup_unit(Manager *m, sd_device *dev, const char *path, bool if (dev) { r = sd_device_get_syspath(dev, &sysfs); if (r < 0) { - log_debug_errno(r, "Couldn't get syspath from device, ignoring: %m"); + log_device_debug_errno(dev, r, "Couldn't get syspath from device, ignoring: %m"); return 0; } } r = unit_name_from_path(path, ".device", &e); if (r < 0) - return log_error_errno(r, "Failed to generate unit name from device path: %m"); + return log_device_error_errno(dev, r, "Failed to generate unit name from device path: %m"); u = manager_get_unit(m, e); if (u) { @@ -509,7 +509,7 @@ static int device_setup_unit(Manager *m, sd_device *dev, const char *path, bool r = unit_new_for_name(m, sizeof(Device), e, &u); if (r < 0) { - log_error_errno(r, "Failed to allocate device unit %s: %m", e); + log_device_error_errno(dev, r, "Failed to allocate device unit %s: %m", e); goto fail; } @@ -521,7 +521,7 @@ static int device_setup_unit(Manager *m, sd_device *dev, const char *path, bool if (sysfs) { r = device_set_sysfs(DEVICE(u), sysfs); if (r < 0) { - log_error_errno(r, "Failed to set sysfs path %s for device unit %s: %m", sysfs, e); + log_unit_error_errno(u, r, "Failed to set sysfs path %s: %m", sysfs); goto fail; } @@ -608,12 +608,12 @@ static int device_process_new(Manager *m, sd_device *dev) { if (r == -ENOMEM) return log_oom(); if (r < 0) - return log_warning_errno(r, "Failed to add parse SYSTEMD_ALIAS for %s: %m", sysfs); + return log_device_warning_errno(dev, r, "Failed to add parse SYSTEMD_ALIAS property: %m"); if (!path_is_absolute(word)) - log_warning("SYSTEMD_ALIAS for %s is not an absolute path, ignoring: %s", sysfs, word); + log_device_warning(dev, "SYSTEMD_ALIAS is not an absolute path, ignoring: %s", word); else if (!path_is_normalized(word)) - log_warning("SYSTEMD_ALIAS for %s is not a normalized path, ignoring: %s", sysfs, word); + log_device_warning(dev, "SYSTEMD_ALIAS is not a normalized path, ignoring: %s", word); else (void) device_setup_unit(m, dev, word, false); } @@ -874,13 +874,13 @@ static int device_dispatch_io(sd_device_monitor *monitor, sd_device *dev, void * r = sd_device_get_syspath(dev, &sysfs); if (r < 0) { - log_error_errno(r, "Failed to get device sys path: %m"); + log_device_error_errno(dev, r, "Failed to get device sys path: %m"); return 0; } r = sd_device_get_property_value(dev, "ACTION", &action); if (r < 0) { - log_error_errno(r, "Failed to get udev action string: %m"); + log_device_error_errno(dev, r, "Failed to get udev action string: %m"); return 0; } @@ -893,7 +893,7 @@ static int device_dispatch_io(sd_device_monitor *monitor, sd_device *dev, void * if (streq(action, "remove")) { r = swap_process_device_remove(m, dev); if (r < 0) - log_warning_errno(r, "Failed to process swap device remove event, ignoring: %m"); + log_device_warning_errno(dev, r, "Failed to process swap device remove event, ignoring: %m"); /* If we get notified that a device was removed by * udev, then it's completely gone, hence unset all @@ -906,7 +906,7 @@ static int device_dispatch_io(sd_device_monitor *monitor, sd_device *dev, void * r = swap_process_device_new(m, dev); if (r < 0) - log_warning_errno(r, "Failed to process swap device new event, ignoring: %m"); + log_device_warning_errno(dev, r, "Failed to process swap device new event, ignoring: %m"); manager_dispatch_load_queue(m); From 7bd33dbd6ee6372846f8e894f883f86c51b3addb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:39:51 +0900 Subject: [PATCH 03/11] fsck: use log_device_*() --- src/fsck/fsck.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c index 9030708db0..65928ed2e3 100644 --- a/src/fsck/fsck.c +++ b/src/fsck/fsck.c @@ -347,7 +347,7 @@ int main(int argc, char *argv[]) { r = sd_device_get_devname(dev, &device); if (r < 0) { - log_error_errno(r, "Failed to detect device node of root directory: %m"); + log_device_error_errno(dev, r, "Failed to detect device node of root directory: %m"); goto finish; } @@ -357,9 +357,9 @@ int main(int argc, char *argv[]) { if (sd_device_get_property_value(dev, "ID_FS_TYPE", &type) >= 0) { r = fsck_exists(type); if (r < 0) - log_warning_errno(r, "Couldn't detect if fsck.%s may be used for %s, proceeding: %m", type, device); + log_device_warning_errno(dev, r, "Couldn't detect if fsck.%s may be used, proceeding: %m", type); else if (r == 0) { - log_info("fsck.%s doesn't exist, not checking file system on %s.", type, device); + log_device_info(dev, "fsck.%s doesn't exist, not checking file system.", type); goto finish; } } From 133432cc1522e0fff52f40b2d8167974dea3f95e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:40:08 +0900 Subject: [PATCH 04/11] gpt-auto-generator: use log_device_*() --- src/gpt-auto-generator/gpt-auto-generator.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c index 08fdd960ba..f0d06ffacf 100644 --- a/src/gpt-auto-generator/gpt-auto-generator.c +++ b/src/gpt-auto-generator/gpt-auto-generator.c @@ -12,6 +12,7 @@ #include "blkid-util.h" #include "blockdev-util.h" #include "btrfs-util.h" +#include "device-util.h" #include "dirent-util.h" #include "dissect-image.h" #include "efivars.h" @@ -461,42 +462,42 @@ static int open_parent(dev_t devnum, int *ret) { if (sd_device_get_devname(d, &name) < 0) { r = sd_device_get_syspath(d, &name); if (r < 0) { - log_debug_errno(r, "Device %u:%u does not have a name, ignoring: %m", major(devnum), minor(devnum)); + log_device_debug_errno(d, r, "Device %u:%u does not have a name, ignoring: %m", major(devnum), minor(devnum)); return 0; } } r = sd_device_get_parent(d, &parent); if (r < 0) { - log_debug_errno(r, "%s: not a partitioned device, ignoring: %m", name); + log_device_debug_errno(d, r, "Not a partitioned device, ignoring: %m"); return 0; } /* Does it have a devtype? */ r = sd_device_get_devtype(parent, &devtype); if (r < 0) { - log_debug_errno(r, "%s: parent doesn't have a device type, ignoring: %m", name); + log_device_debug_errno(parent, r, "Parent doesn't have a device type, ignoring: %m"); return 0; } /* Is this a disk or a partition? We only care for disks... */ if (!streq(devtype, "disk")) { - log_debug("%s: parent isn't a raw disk, ignoring.", name); + log_device_debug(parent, "Parent isn't a raw disk, ignoring."); return 0; } /* Does it have a device node? */ r = sd_device_get_devname(parent, &node); if (r < 0) { - log_debug_errno(r, "%s: parent device does not have device node, ignoring: %m", name); + log_device_debug_errno(parent, r, "Parent device does not have device node, ignoring: %m"); return 0; } - log_debug("%s: root device %s.", name, node); + log_device_debug(d, "Root device %s.", node); r = sd_device_get_devnum(parent, &pn); if (r < 0) { - log_debug_errno(r, "%s: parent device is not a proper block device, ignoring: %m", name); + log_device_debug_errno(parent, r, "Parent device is not a proper block device, ignoring: %m"); return 0; } From b6124e64a510e2384b1f361cb1d7e5265f860683 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:49:23 +0900 Subject: [PATCH 05/11] sd-device-monitor: use log_device_*() --- src/libsystemd/sd-device/device-monitor.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libsystemd/sd-device/device-monitor.c b/src/libsystemd/sd-device/device-monitor.c index 5a604fecfa..9c534a0dd6 100644 --- a/src/libsystemd/sd-device/device-monitor.c +++ b/src/libsystemd/sd-device/device-monitor.c @@ -454,10 +454,9 @@ int device_monitor_receive_device(sd_device_monitor *m, sd_device **ret) { /* Skip device, if it does not pass the current filter */ r = passes_filter(m, device); if (r < 0) - return log_debug_errno(r, "Failed to check received device passing filter: %m"); - + return log_device_debug_errno(device, r, "Failed to check received device passing filter: %m"); if (r == 0) - log_debug("Received device does not pass filter, ignoring"); + log_device_debug(device, "Received device does not pass filter, ignoring"); else *ret = TAKE_PTR(device); @@ -522,7 +521,7 @@ int device_monitor_send_device( /* fill in versioned header */ r = sd_device_get_subsystem(device, &val); if (r < 0) - return log_debug_errno(r, "Failed to get device subsystem: %m"); + return log_device_debug_errno(device, r, "Failed to get device subsystem: %m"); nlh.filter_subsystem_hash = htobe32(string_hash32(val)); if (sd_device_get_devtype(device, &val) >= 0) @@ -557,13 +556,13 @@ int device_monitor_send_device( count = sendmsg(m->sock, &smsg, 0); if (count < 0) { if (!destination && errno == ECONNREFUSED) { - log_debug("Passed device to netlink monitor"); + log_device_debug(device, "Passed to netlink monitor"); return 0; } else - return log_debug_errno(errno, "Failed to send device to netlink monitor: %m"); + return log_device_debug_errno(device, errno, "Failed to send device to netlink monitor: %m"); } - log_debug("Passed %zi byte device to netlink monitor", count); + log_device_debug(device, "Passed %zi byte to netlink monitor", count); return count; } From 76386309b876f7a67fe9f7e779176ad2df2026f2 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:54:27 +0900 Subject: [PATCH 06/11] login: use log_device_*() --- src/login/logind-acl.c | 2 +- src/login/logind-core.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c index 5453ebb0a1..d2f4e60f98 100644 --- a/src/login/logind-acl.c +++ b/src/login/logind-acl.c @@ -206,7 +206,7 @@ int devnode_acl_all(const char *seat, if (sd_device_get_devname(d, &node) < 0) continue; - log_debug("Found udev node %s for seat %s", node, seat); + log_device_debug(d, "Found udev node %s for seat %s", node, seat); r = set_put_strdup(nodes, node); if (r < 0) return r; diff --git a/src/login/logind-core.c b/src/login/logind-core.c index 7aa9300d4b..2f37c68aeb 100644 --- a/src/login/logind-core.c +++ b/src/login/logind-core.c @@ -268,7 +268,7 @@ int manager_process_seat_device(Manager *m, sd_device *d) { sn = "seat0"; if (!seat_name_is_valid(sn)) { - log_warning("Device with invalid seat name %s found, ignoring.", sn); + log_device_warning(d, "Device with invalid seat name %s found, ignoring.", sn); return 0; } From 3d0ac9d0eca971ab25adf727537c7c6ba02350bc Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 12:57:37 +0900 Subject: [PATCH 07/11] mount-tool: use log_device_*() --- src/mount/mount-tool.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mount/mount-tool.c b/src/mount/mount-tool.c index 3cdf86ed47..988dbc5fbd 100644 --- a/src/mount/mount-tool.c +++ b/src/mount/mount-tool.c @@ -944,10 +944,10 @@ static int umount_by_device(sd_bus *bus, const char *what) { r = sd_device_get_property_value(d, "ID_FS_USAGE", &v); if (r < 0) - return log_error_errno(r, "Failed to get device property: %m"); + return log_device_error_errno(d, r, "Failed to get device property: %m"); if (!streq(v, "filesystem")) { - log_error("%s does not contain a known file system.", what); + log_device_error(d, "%s does not contain a known file system.", what); return -EINVAL; } @@ -1285,7 +1285,7 @@ static int discover_loop_backing_file(void) { return log_error_errno(r, "Failed to get device from device number: %m"); if (sd_device_get_property_value(d, "ID_FS_USAGE", &v) < 0 || !streq(v, "filesystem")) { - log_error("%s does not contain a known file system.", arg_mount_what); + log_device_error(d, "%s does not contain a known file system.", arg_mount_what); return -EINVAL; } From 94ad322538645669029de9df8998d3add171cebd Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 13:01:22 +0900 Subject: [PATCH 08/11] rfkill: use log_device_*() --- src/rfkill/rfkill.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c index 79bc1cbc5d..b7316313c4 100644 --- a/src/rfkill/rfkill.c +++ b/src/rfkill/rfkill.c @@ -7,6 +7,7 @@ #include "sd-device.h" #include "alloc-util.h" +#include "device-util.h" #include "escape.h" #include "fd-util.h" #include "fileio.h" @@ -73,9 +74,9 @@ static int find_device( r = sd_device_get_sysattr_value(device, "name", &name); if (r < 0) - return log_debug_errno(r, "Device has no name, ignoring: %m"); + return log_device_debug_errno(device, r, "Device has no name, ignoring: %m"); - log_debug("Operating on rfkill device '%s'.", name); + log_device_debug(device, "Operating on rfkill device '%s'.", name); *ret = TAKE_PTR(device); return 0; From e0ca42e383db94f081420685d7339ef2e6a41069 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 13:12:19 +0900 Subject: [PATCH 09/11] udev-node: use log_device_*() --- src/udev/udev-node.c | 77 +++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 41 deletions(-) diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 9cccef1b0f..46445eda6a 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -42,26 +42,26 @@ static int node_symlink(sd_device *dev, const char *node, const char *slink) { /* use relative link */ r = path_make_relative(slink_dirname, node, &target); if (r < 0) - return log_error_errno(r, "Failed to get relative path from '%s' to '%s': %m", slink, node); + return log_device_error_errno(dev, r, "Failed to get relative path from '%s' to '%s': %m", slink, node); /* preserve link with correct target, do not replace node of other device */ if (lstat(slink, &stats) == 0) { if (S_ISBLK(stats.st_mode) || S_ISCHR(stats.st_mode)) { - log_error("Conflicting device node '%s' found, link to '%s' will not be created.", slink, node); + log_device_error(dev, "Conflicting device node '%s' found, link to '%s' will not be created.", slink, node); return -EOPNOTSUPP; } else if (S_ISLNK(stats.st_mode)) { _cleanup_free_ char *buf = NULL; if (readlink_malloc(slink, &buf) >= 0 && streq(target, buf)) { - log_debug("Preserve already existing symlink '%s' to '%s'", slink, target); + log_device_debug(dev, "Preserve already existing symlink '%s' to '%s'", slink, target); (void) label_fix(slink, LABEL_IGNORE_ENOENT); (void) utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW); return 0; } } } else { - log_debug("Creating symlink '%s' to '%s'", slink, target); + log_device_debug(dev, "Creating symlink '%s' to '%s'", slink, target); do { r = mkdir_parents_label(slink, 0755); if (!IN_SET(r, 0, -ENOENT)) @@ -75,10 +75,10 @@ static int node_symlink(sd_device *dev, const char *node, const char *slink) { return 0; } - log_debug("Atomically replace '%s'", slink); + log_device_debug(dev, "Atomically replace '%s'", slink); r = device_get_id_filename(dev, &id_filename); if (r < 0) - return log_error_errno(r, "Failed to get id_filename: %m"); + return log_device_error_errno(dev, r, "Failed to get id_filename: %m"); slink_tmp = strjoina(slink, ".tmp-", id_filename); (void) unlink(slink_tmp); do { @@ -91,10 +91,10 @@ static int node_symlink(sd_device *dev, const char *node, const char *slink) { mac_selinux_create_file_clear(); } while (r == -ENOENT); if (r < 0) - return log_error_errno(r, "Failed to create symlink '%s' to '%s': %m", slink_tmp, target); + return log_device_error_errno(dev, r, "Failed to create symlink '%s' to '%s': %m", slink_tmp, target); if (rename(slink_tmp, slink) < 0) { - r = log_error_errno(errno, "Failed to rename '%s' to '%s' failed: %m", slink_tmp, slink); + r = log_device_error_errno(dev, errno, "Failed to rename '%s' to '%s' failed: %m", slink_tmp, slink); (void) unlink(slink_tmp); } @@ -148,7 +148,7 @@ static int link_find_prioritized(sd_device *dev, bool add, const char *stackdir, if (dent->d_name[0] == '.') continue; - log_debug("Found '%s' claiming '%s'", dent->d_name, stackdir); + log_device_debug(dev, "Found '%s' claiming '%s'", dent->d_name, stackdir); if (device_get_id_filename(dev, &id_filename) < 0) continue; @@ -169,12 +169,7 @@ static int link_find_prioritized(sd_device *dev, bool add, const char *stackdir, if (target && db_prio <= priority) continue; - if (DEBUG_LOGGING) { - const char *syspath = NULL; - - (void) sd_device_get_syspath(dev_db, &syspath); - log_debug("Device '%s' claims priority %i for '%s'", strnull(syspath), db_prio, stackdir); - } + log_device_debug(dev_db, "Device claims priority %i for '%s'", db_prio, stackdir); r = free_and_strdup(&target, devnode); if (r < 0) @@ -198,7 +193,7 @@ static int link_update(sd_device *dev, const char *slink, bool add) { r = device_get_id_filename(dev, &id_filename); if (r < 0) - return log_debug_errno(r, "Failed to get id_filename: %m"); + return log_device_debug_errno(dev, r, "Failed to get id_filename: %m"); util_path_encode(slink + STRLEN("/dev"), name_enc, sizeof(name_enc)); dirname = path_join(NULL, "/run/udev/links/", name_enc); @@ -213,11 +208,11 @@ static int link_update(sd_device *dev, const char *slink, bool add) { r = link_find_prioritized(dev, add, dirname, &target); if (r < 0) { - log_debug("No reference left, removing '%s'", slink); + log_device_debug(dev, "No reference left, removing '%s'", slink); if (unlink(slink) == 0) (void) rmdir_parents(slink, "/"); } else { - log_debug("Creating link '%s' to '%s'", slink, target); + log_device_debug(dev, "Creating link '%s' to '%s'", slink, target); (void) node_symlink(dev, target, slink); } @@ -245,7 +240,7 @@ int udev_node_update_old_links(sd_device *dev, sd_device *dev_old) { r = sd_device_get_devpath(dev, &devpath); if (r < 0) - return log_debug_errno(r, "Failed to get devpath: %m"); + return log_device_debug_errno(dev, r, "Failed to get devpath: %m"); /* update possible left-over symlinks */ FOREACH_DEVICE_DEVLINK(dev_old, name) { @@ -262,8 +257,8 @@ int udev_node_update_old_links(sd_device *dev, sd_device *dev_old) { if (found) continue; - log_debug("Updating old name, '%s' no longer belonging to '%s'", - name, devpath); + log_device_debug(dev, "Updating old name, '%s' no longer belonging to '%s'", + name, devpath); link_update(dev, name, false); } @@ -282,13 +277,13 @@ static int node_permissions_apply(sd_device *dev, bool apply, r = sd_device_get_devname(dev, &devnode); if (r < 0) - return log_debug_errno(r, "Failed to get devname: %m"); + return log_device_debug_errno(dev, r, "Failed to get devname: %m"); r = sd_device_get_subsystem(dev, &subsystem); if (r < 0) - return log_debug_errno(r, "Failed to get subsystem: %m"); + return log_device_debug_errno(dev, r, "Failed to get subsystem: %m"); r = sd_device_get_devnum(dev, &devnum); if (r < 0) - return log_debug_errno(r, "Failed to get devnum: %m"); + return log_device_debug_errno(dev, r, "Failed to get devnum: %m"); (void) device_get_id_filename(dev, &id_filename); if (streq(subsystem, "block")) @@ -297,11 +292,11 @@ static int node_permissions_apply(sd_device *dev, bool apply, mode |= S_IFCHR; if (lstat(devnode, &stats) < 0) - return log_debug_errno(errno, "cannot stat() node '%s' (%m)", devnode); + return log_device_debug_errno(dev, errno, "cannot stat() node '%s' (%m)", devnode); if (((stats.st_mode & S_IFMT) != (mode & S_IFMT)) || (stats.st_rdev != devnum)) - return log_debug_errno(EEXIST, "Found node '%s' with non-matching devnum %s, skip handling", - devnode, id_filename); + return log_device_debug_errno(dev, EEXIST, "Found node '%s' with non-matching devnum %s, skip handling", + devnode, id_filename); if (apply) { bool selinux = false, smack = false; @@ -309,13 +304,13 @@ static int node_permissions_apply(sd_device *dev, bool apply, Iterator i; if ((stats.st_mode & 0777) != (mode & 0777) || stats.st_uid != uid || stats.st_gid != gid) { - log_debug("Setting permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); + log_device_debug(dev, "Setting permissions %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); if (chmod(devnode, mode) < 0) - r = log_warning_errno(errno, "Failed to set mode of %s to %#o: %m", devnode, mode); + r = log_device_warning_errno(dev, errno, "Failed to set mode of %s to %#o: %m", devnode, mode); if (chown(devnode, uid, gid) < 0) - r = log_warning_errno(errno, "Failed to set owner of %s to uid=%u, gid=%u: %m", devnode, uid, gid); + r = log_device_warning_errno(dev, errno, "Failed to set owner of %s to uid=%u, gid=%u: %m", devnode, uid, gid); } else - log_debug("Preserve permissions of %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); + log_device_debug(dev, "Preserve permissions of %s, %#o, uid=%u, gid=%u", devnode, mode, uid, gid); /* apply SECLABEL{$module}=$label */ HASHMAP_FOREACH_KEY(label, name, seclabel_list, i) { @@ -326,21 +321,21 @@ static int node_permissions_apply(sd_device *dev, bool apply, q = mac_selinux_apply(devnode, label); if (q < 0) - log_error_errno(q, "SECLABEL: failed to set SELinux label '%s': %m", label); + log_device_error_errno(dev, q, "SECLABEL: failed to set SELinux label '%s': %m", label); else - log_debug("SECLABEL: set SELinux label '%s'", label); + log_device_debug(dev, "SECLABEL: set SELinux label '%s'", label); } else if (streq(name, "smack")) { smack = true; q = mac_smack_apply(devnode, SMACK_ATTR_ACCESS, label); if (q < 0) - log_error_errno(q, "SECLABEL: failed to set SMACK label '%s': %m", label); + log_device_error_errno(dev, q, "SECLABEL: failed to set SMACK label '%s': %m", label); else - log_debug("SECLABEL: set SMACK label '%s'", label); + log_device_debug(dev, "SECLABEL: set SMACK label '%s'", label); } else - log_error("SECLABEL: unknown subsystem, ignoring '%s'='%s'", name, label); + log_device_error(dev, "SECLABEL: unknown subsystem, ignoring '%s'='%s'", name, label); } /* set the defaults */ @@ -395,14 +390,14 @@ int udev_node_add(sd_device *dev, bool apply, r = sd_device_get_devname(dev, &devnode); if (r < 0) - return log_debug_errno(r, "Failed to get devnode: %m"); + return log_device_debug_errno(dev, r, "Failed to get devnode: %m"); if (DEBUG_LOGGING) { const char *id_filename = NULL; (void) device_get_id_filename(dev, &id_filename); - log_debug("Handling device node '%s', devnum=%s, mode=%#o, uid="UID_FMT", gid="GID_FMT, - devnode, strnull(id_filename), mode, uid, gid); + log_device_debug(dev, "Handling device node '%s', devnum=%s, mode=%#o, uid="UID_FMT", gid="GID_FMT, + devnode, strnull(id_filename), mode, uid, gid); } r = node_permissions_apply(dev, apply, mode, uid, gid, seclabel_list); @@ -411,7 +406,7 @@ int udev_node_add(sd_device *dev, bool apply, r = xsprintf_dev_num_path_from_sd_device(dev, &filename); if (r < 0) - return log_debug_errno(r, "Failed to get device path: %m"); + return log_device_debug_errno(dev, r, "Failed to get device path: %m"); /* always add /dev/{block,char}/$major:$minor */ (void) node_symlink(dev, devnode, filename); @@ -436,7 +431,7 @@ int udev_node_remove(sd_device *dev) { r = xsprintf_dev_num_path_from_sd_device(dev, &filename); if (r < 0) - return log_debug_errno(r, "Failed to get device path: %m"); + return log_device_debug_errno(dev, r, "Failed to get device path: %m"); /* remove /dev/{block,char}/$major:$minor */ (void) unlink(filename); From 4d04259d4114bc73696f269f0d5dc2d5b50f666a Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 13:21:16 +0900 Subject: [PATCH 10/11] udev-watch: use log_device_*() --- src/udev/udev-watch.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/udev/udev-watch.c b/src/udev/udev-watch.c index 3f5885c52e..4924b75c50 100644 --- a/src/udev/udev-watch.c +++ b/src/udev/udev-watch.c @@ -9,6 +9,7 @@ #include "alloc-util.h" #include "device-private.h" +#include "device-util.h" #include "dirent-util.h" #include "fs-util.h" #include "mkdir.h" @@ -67,12 +68,7 @@ int udev_watch_restore(void) { goto unlink; } - if (DEBUG_LOGGING) { - const char *devnode = NULL; - - (void) sd_device_get_devname(dev, &devnode); - log_debug("Restoring old watch on '%s'", strnull(devnode)); - } + log_device_debug(dev, "Restoring old watch"); (void) udev_watch_begin(dev); unlink: (void) unlinkat(dirfd(dir), ent->d_name, 0); @@ -94,49 +90,45 @@ int udev_watch_begin(sd_device *dev) { r = sd_device_get_devname(dev, &devnode); if (r < 0) - return log_error_errno(r, "Failed to get device name: %m"); + return log_device_error_errno(dev, r, "Failed to get device name: %m"); - log_debug("Adding watch on '%s'", devnode); + log_device_debug(dev, "Adding watch on '%s'", devnode); wd = inotify_add_watch(inotify_fd, devnode, IN_CLOSE_WRITE); if (wd < 0) - return log_error_errno(errno, "Failed to add device '%s' to watch: %m", devnode); + return log_device_error_errno(dev, errno, "Failed to add device '%s' to watch: %m", devnode); device_set_watch_handle(dev, wd); xsprintf(filename, "/run/udev/watch/%d", wd); r = mkdir_parents(filename, 0755); if (r < 0) - return log_error_errno(r, "Failed to create parent directory of '%s': %m", filename); + 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); if (r < 0) - return log_error_errno(r, "Failed to get device id-filename: %m"); + return log_device_error_errno(dev, r, "Failed to get device id-filename: %m"); if (symlink(id_filename, filename) < 0) - return log_error_errno(errno, "Failed to create symlink %s: %m", filename); + return log_device_error_errno(dev, errno, "Failed to create symlink %s: %m", filename); return 0; } int udev_watch_end(sd_device *dev) { char filename[STRLEN("/run/udev/watch/") + DECIMAL_STR_MAX(int)]; - const char *name = NULL; int wd, r; if (inotify_fd < 0) return log_error_errno(EINVAL, "Invalid inotify descriptor."); - if (sd_device_get_devname(dev, &name) < 0) - (void) sd_device_get_syspath(dev, &name); - r = device_get_watch_handle(dev, &wd); if (r == -ENOENT) return 0; if (r < 0) - return log_error_errno(r, "Failed to get watch handle for device '%s', ignoring: %m", strnull(name)); + return log_device_error_errno(dev, r, "Failed to get watch handle, ignoring: %m"); - log_debug("Removing watch on '%s'", strnull(name)); + log_device_debug(dev, "Removing watch"); (void) inotify_rm_watch(inotify_fd, wd); xsprintf(filename, "/run/udev/watch/%d", wd); From b220632c6132be42a32c05f5da60543cbfbecec2 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 22 Oct 2018 13:21:43 +0900 Subject: [PATCH 11/11] link-config: use log_device_*() --- src/udev/net/link-config.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index fd1c205d12..2d25f75357 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -8,6 +8,7 @@ #include "alloc-util.h" #include "conf-files.h" #include "conf-parser.h" +#include "device-util.h" #include "ethtool-util.h" #include "fd-util.h" #include "link-config.h" @@ -410,9 +411,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, r = sd_device_get_ifindex(device, &ifindex); if (r < 0) - return log_warning_errno(r, "Could not find ifindex: %m"); + return log_device_warning_errno(device, r, "Could not find ifindex: %m"); if (ifindex <= 0) - return log_warning_errno(EINVAL, "Invalid ifindex '%d'", ifindex); + return log_device_warning_errno(device, EINVAL, "Invalid ifindex '%d'", ifindex); if (ctx->enable_name_policy && config->name_policy) { NamePolicy *policy;