From c75f6a28b8220ab6ed6b1567666a58219a87146e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 2 Sep 2021 06:58:59 +0900 Subject: [PATCH] udev-node: assume no new claim to a symlink if /run/udev/links is not updated During creating a symlink to a device node, if another device node which requests the same symlink is added/removed, `stat_inode_unmodified()` should always detects that. We do not need to continue the loop unconditionally. (cherry picked from commit 8f27311eb2aec2411d1fb7d62e6c9d75d21ae8df) Gbp-Pq: Name udev-node-assume-no-new-claim-to-a-symlink-if-run-udev-li.patch --- src/udev/udev-node.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 0de848da..1a34ea81 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -491,11 +491,6 @@ static int link_update(sd_device *dev, const char *slink_in, bool add) { r = node_symlink(dev, target, slink); if (r < 0) return r; - if (r == 1) - /* We have replaced already existing symlink, possibly there is some other device trying - * to claim the same symlink. Let's do one more iteration to give us a chance to fix - * the error if other device actually claims the symlink with higher priority. */ - continue; /* Skip the second stat() if the first failed, stat_inode_unmodified() would return false regardless. */ if ((st1.st_mode & S_IFMT) != 0) { -- 2.30.2