From: Zbigniew Jędrzejewski-Szmek Date: Tue, 28 Mar 2023 16:42:24 +0000 (+0200) Subject: Revert "udev_rules_parse_file: do not skip ENOENT" X-Git-Tag: v254-rc1~885^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9db7081d83d56cd2523b03f9eb9d67ef1c93c55f;p=thirdparty%2Fsystemd.git Revert "udev_rules_parse_file: do not skip ENOENT" This reverts commit 42a467b55219384c7c3b137ab3cc8b6a309a8a14. We need to skip -ENOENT when loading udev rules because new files with rules may be added or removed at any time, and the loading of rules is triggered asynchronously. Even though the window is fairly narrow, udev shouldn't throw an error if a rules file is removed. --- diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index f7a1bb3bb00..a019f64c6c7 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -1436,8 +1436,12 @@ int udev_rules_parse_file(UdevRules *rules, const char *filename, bool extra_che assert(filename); f = fopen(filename, "re"); - if (!f) + if (!f) { + if (errno == ENOENT) + return 0; + return log_warning_errno(errno, "Failed to open %s, ignoring: %m", filename); + } if (fstat(fileno(f), &st) < 0) return log_warning_errno(errno, "Failed to stat %s, ignoring: %m", filename);