diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index a019f64c6c..bbdd498cd7 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -1437,7 +1437,7 @@ int udev_rules_parse_file(UdevRules *rules, const char *filename, bool extra_che f = fopen(filename, "re"); if (!f) { - if (errno == ENOENT) + if (!extra_checks && errno == ENOENT) return 0; return log_warning_errno(errno, "Failed to open %s, ignoring: %m", filename); diff --git a/test/units/testsuite-17.11.sh b/test/units/testsuite-17.11.sh index ba21c9ab87..e3a96e5cdb 100755 --- a/test/units/testsuite-17.11.sh +++ b/test/units/testsuite-17.11.sh @@ -97,6 +97,8 @@ assert_1 --resolve-names=now # Failed to parse rules file .: Is a directory cp "${workdir}/default_output_1_fail" "${exo}" assert_1 . +# Failed to parse rules file ./nosuchfile: No such file or directory +assert_1 ./nosuchfile # Failed to parse rules file .: Is a directory cat >"${exo}" <