From c891389a163302a5e6dbe087ba13817933958a37 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 3 Jun 2021 01:16:44 +0900 Subject: [PATCH] udev: try to create device symlink directly only when the link does not exist yet --- src/udev/udev-node.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index b947139714..6276a543d2 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -96,7 +96,7 @@ static int node_symlink(sd_device *dev, const char *node, const char *slink) { return 0; } - } else { + } else if (errno == ENOENT) { log_device_debug(dev, "Creating symlink '%s' to '%s'", slink, target); r = create_symlink(target, slink); @@ -104,7 +104,8 @@ static int node_symlink(sd_device *dev, const char *node, const char *slink) { return 0; log_device_debug_errno(dev, r, "Failed to create symlink '%s' to '%s', trying to replace '%s': %m", slink, target, slink); - } + } else + return log_device_debug_errno(dev, errno, "Failed to lstat() '%s': %m", slink); log_device_debug(dev, "Atomically replace '%s'", slink);