1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib
David Teigland 5eafaad441 filter-sysfs: skip when device id is set
When a device id is set for a device, using an idtype other
than devname, it means that sysfs has been used with the device
to match the device id.  So, checking for a sysfs entry for the
device in filter-sysfs is redundant.  For any other cases not
covered by this (e.g. devname ids), have filter-sysfs simply
stat /sys/dev/block/major:minor to test if the device exists
in sysfs.

The extensive processing done by filter-sysfs init is removed.
It was taking an immense amount of time with many devices, e.g.
. 1024 PVs in 520 VGs
. 520 concurrent vgchange -ay <vgname> commands
. vgchange avoiding full device scanning by using pvs_online

A large number of the vgchange commands were taking over 1 min,
and nearly half of that time was used by filter-sysfs init.
With this patch, the vgchange commands take about half the time.
2021-11-02 15:54:16 -05:00
..
activate make: replace legacy use rindex with strrchr 2021-09-27 18:56:14 +02:00
cache fix segfault handling duplicate PVs 2021-10-14 14:02:59 -05:00
cache_segtype gcc: remove invalid attribute 2021-09-13 12:34:41 +02:00
commands filter-sysfs: skip when device id is set 2021-11-02 15:54:16 -05:00
config configure: updates 2021-10-14 23:34:11 +02:00
datastruct cleanup: eliminate unused assign 2021-03-11 00:18:01 +01:00
device pvscan: only add device args to dev cache 2021-10-19 17:13:57 -05:00
display gcc-fanalyzer: helping understand answer is not null 2021-09-21 21:03:47 +02:00
error device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
filters filter-sysfs: skip when device id is set 2021-11-02 15:54:16 -05:00
format_text cov: avoid using NULL info 2021-10-15 23:36:22 +02:00
freeseg device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
integrity cleanup: no backtraces needed after log_error 2021-03-10 01:11:52 +01:00
label hints: remove the cmd hints list 2021-11-01 16:01:45 -05:00
locking cleanup: use const char buffer 2021-10-18 19:17:27 +02:00
log log: also build without systemd_journal_support 2021-10-14 23:34:11 +02:00
lvmpolld device usage based on devices file 2021-02-23 16:43:32 -06:00
metadata cov: check pointer before dereferencing 2021-10-15 23:40:56 +02:00
mirror lv_info: missing check for info.exists 2021-03-14 16:34:38 +01:00
misc utils: define macro for ffs 2021-09-27 18:56:14 +02:00
mm debug: change message level 2021-09-15 15:24:56 +02:00
notify build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
properties build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
raid cleanup: reduce code dupliction 2021-03-19 23:21:18 +01:00
report cov: remove unused variable setting 2021-09-13 12:34:41 +02:00
snapshot typo: fixes 2021-02-08 23:53:41 +01:00
striped device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
thin targets: use target_present_version 2021-02-08 23:43:38 +01:00
unknown device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
uuid build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
vdo vdo: just one probe is enough 2021-02-17 11:21:35 +01:00
writecache typo: fixes 2021-02-08 23:53:41 +01:00
zero device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
Makefile.in devices: rework libudev usage 2021-07-13 11:11:23 -05:00