mirror of
https://github.com/systemd/systemd.git
synced 2026-08-09 01:20:53 +00:00
Speed up udev_enumerate_scan_*
Check property match earlier, to avoid lots of readlink() and stat() calls when we check property matches.
This commit is contained in:
@@ -574,6 +574,8 @@ static int scan_dir_and_add_devices(struct udev_enumerate *udev_enumerate,
|
||||
continue;
|
||||
|
||||
util_strscpyl(syspath, sizeof(syspath), path, "/", dent->d_name, NULL);
|
||||
if (!match_property(udev_enumerate, syspath))
|
||||
continue;
|
||||
if (lstat(syspath, &statbuf) != 0)
|
||||
continue;
|
||||
if (S_ISREG(statbuf.st_mode))
|
||||
@@ -586,8 +588,6 @@ static int scan_dir_and_add_devices(struct udev_enumerate *udev_enumerate,
|
||||
continue;
|
||||
if (!match_sysattr(udev_enumerate, syspath))
|
||||
continue;
|
||||
if (!match_property(udev_enumerate, syspath))
|
||||
continue;
|
||||
syspath_add(udev_enumerate, syspath);
|
||||
}
|
||||
closedir(dir);
|
||||
|
||||
Reference in New Issue
Block a user