1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
David Teigland 62533ae3fa vgchange -aay: optimize device list using pvs_online files
Port another optimization from pvscan -aay to vgchange -aay:
  "pvscan: only add device args to dev cache"

This optimization avoids doing a full dev_cache_scan, and
instead populates dev-cache with only the devices in the
VG being activated.

This involves shifting the use of pvs_online files from
the hints interface up to the higher level label_scan
interface.  This specialized label_scan is structured
around creating a list of devices from the pvs_online
files.  Previously, a list of all devices was created
first, and then reduced based on the pvs_online files.
The initial step of listing all devices was slow when
thousands of devices are present on the system.

This optimization extends the previous optimization that
used pvs_online files to limit the devices that were
actually scanned (i.e. reading to identify the device):
  "vgchange -aay: optimize device scan using pvs_online files"
2021-11-05 12:19:35 -05:00
..
activate make: replace legacy use rindex with strrchr 2021-09-27 18:56:14 +02:00
cache vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -05:00
cache_segtype gcc: remove invalid attribute 2021-09-13 12:34:41 +02:00
commands vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -05:00
config add hints interface to the pvs_online file information 2021-11-04 10:58:16 -05:00
datastruct cleanup: eliminate unused assign 2021-03-11 00:18:01 +01:00
device vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -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 16:54:53 -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 vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -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 rename pvscan_cache_single to expect_missing_vg_device in cmd 2021-11-04 11:08:38 -05: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 move code from pvscan.c to online.c 2021-11-04 11:09:29 -05:00