]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: skipping empty udev rules file while collecting the stats
authorLidong Zhong <lidong.zhong@suse.com>
Thu, 7 Nov 2024 06:41:11 +0000 (14:41 +0800)
committerLuca Boccassi <luca.boccassi@gmail.com>
Wed, 13 Nov 2024 19:48:10 +0000 (19:48 +0000)
To keep align with the logic used in udev_rules_parse_file(), we also
should skip the empty udev rules file while collecting the stats during
manager reload. Otherwise all udev rules files will be parsed again whenever
reloading udev manager with an empty udev rules file. It's time consuming
and the following uevents will fail with timeout.

(cherry picked from commit 2ae79a31b7c7947e2c16e18eb85ac5607ebc40b6)

src/shared/conf-parser.c

index fcc45c6e252f140544e0ac82982e0614a797325a..e0cdfaa33f510b8763630548695587c8201d9ded 100644 (file)
@@ -755,6 +755,10 @@ int config_get_stats_by_path(
                         return -errno;
                 }
 
+                /* Skipping an empty file. */
+                if (null_or_empty(&st))
+                        continue;
+
                 r = hashmap_put_stats_by_path(&stats_by_path, *f, &st);
                 if (r < 0)
                         return r;