From: Yu Watanabe Date: Wed, 1 Sep 2021 21:58:59 +0000 (+0900) Subject: udev-node: assume no new claim to a symlink if /run/udev/links is not updated X-Git-Tag: archive/raspbian/249.5-2+rpi1^2~27 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c75f6a28b8220ab6ed6b1567666a58219a87146e;p=systemd.git 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 --- 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) {