aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2018-01-08 01:35:44 +0900
committerMike Gilbert <floppym@gentoo.org>2018-01-13 12:19:22 -0500
commit6979c001c2fbb0dcdbc8678182d062a7ca0f74fe (patch)
tree0fc5531af353135f5895c60191b6c2675ce5ebb3
parentrules: Mark the kvm device as static_node (for s390x and ppc64) (#7795) (diff)
downloadsystemd-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.c14
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;
}