diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 033ecc91f2..1702f489d1 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -275,8 +275,10 @@ static int link_update(sd_device *dev, const char *slink_in, bool add) { return log_oom(); if (!add) { - if (unlink(filename) == 0) - (void) rmdir(dirname); + if (unlink(filename) < 0 && errno != ENOENT) + log_device_debug_errno(dev, errno, "Failed to remove %s, ignoring: %m", filename); + + (void) rmdir(dirname); } else for (;;) { _cleanup_close_ int fd = -1;