diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2018-01-08 01:35:44 +0900 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2018-01-13 12:19:22 -0500 |
commit | 6979c001c2fbb0dcdbc8678182d062a7ca0f74fe (patch) | |
tree | 0fc5531af353135f5895c60191b6c2675ce5ebb3 | |
parent | rules: Mark the kvm device as static_node (for s390x and ppc64) (#7795) (diff) | |
download | systemd-6979c001c2fbb0dcdbc8678182d062a7ca0f74fe.tar.gz systemd-6979c001c2fbb0dcdbc8678182d062a7ca0f74fe.tar.bz2 systemd-6979c001c2fbb0dcdbc8678182d062a7ca0f74fe.zip |
sd-device: use chase_symlinks()
(cherry picked from commit 5bbe8eab3443169a496d6b287e7c2291d63cd115)
-rw-r--r-- | src/libsystemd/sd-device/sd-device.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index a96d7445c..49c157b8c 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -166,21 +166,11 @@ int device_set_syspath(sd_device *device, const char *_syspath, bool verify) { } if (verify) { - r = readlink_and_canonicalize(_syspath, NULL, &syspath); + r = chase_symlinks(_syspath, NULL, 0, &syspath); if (r == -ENOENT) /* the device does not exist (any more?) */ return -ENODEV; - else if (r == -EINVAL) { - /* not a symlink */ - syspath = canonicalize_file_name(_syspath); - if (!syspath) { - if (errno == ENOENT) - /* the device does not exist (any more?) */ - return -ENODEV; - - return log_debug_errno(errno, "sd-device: could not canonicalize '%s': %m", _syspath); - } - } else if (r < 0) { + else if (r < 0) { log_debug_errno(r, "sd-device: could not get target of '%s': %m", _syspath); return r; } |