1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-30 17:18:21 +03:00
lvm2/tools
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
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
.gitignore tools: add generated headers to .gitignore 2017-03-10 13:13:41 +00:00
args.h vgchange -aay: optimize device scan using pvs_online files 2021-11-04 11:08:38 -05:00
cmdnames.h doc: change fsf address 2016-01-21 12:11:37 +01:00
command-lines.in vgchange -aay: optimize device scan using pvs_online files 2021-11-04 11:08:38 -05:00
command.c cov: add explicit NULL pointer check 2021-09-20 14:26:09 +02:00
command.h commands: use AUTOTYPE in definitions 2021-04-21 08:41:37 -05:00
commands.h devices file: limit warnings about devices file entries not found 2021-08-05 13:20:26 -05:00
dumpconfig.c lvmconfig: Add options to produce file preamble 2017-08-05 16:23:34 +01:00
errors.h tools: Introduce exit code EINIT_FAILED. 2017-07-26 23:18:03 +01:00
formats.c doc: change fsf address 2016-01-21 12:11:37 +01:00
license.inc pre-release 2017-03-28 16:11:35 +01:00
lv_props.h Allow dm-integrity to be used for raid images 2020-04-15 12:10:32 -05:00
lv_types.h Allow dm-integrity to be used for raid images 2020-04-15 12:10:32 -05:00
lvchange.c lvchange: fix lvchange refresh failed for dm suspend or resume failed 2021-08-16 09:45:40 -05:00
lvconvert_poll.c thin: ignore parallel merge while polling 2021-03-18 18:34:57 +01:00
lvconvert_poll.h build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
lvconvert.c cov; matching enum type 2021-09-27 18:56:14 +02:00
lvcreate.c cleanup: use first parameter uint 2021-09-27 18:56:14 +02:00
lvdisplay.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
lvextend.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm2cmd-static.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmd.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmd.h lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmdline.h lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm.c cov: ignoring 2021-09-27 18:56:14 +02:00
lvmcmdlib.c cmdlib_lvm2_init: release cmd on failure path 2021-09-13 12:34:41 +02:00
lvmcmdline.c vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -05:00
lvmdevices.c lvmdevices: increase open file limit 2021-11-03 08:50:57 -05:00
lvmdiskscan.c remove unused full filter 2018-12-04 14:06:46 -06:00
lvpoll.c build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
lvreduce.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvremove.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
lvrename.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
lvresize.c lvresize: allow mixing striped with errors or zero 2021-03-18 18:56:49 +01:00
lvscan.c Remove lvmetad 2018-07-11 11:26:42 -05:00
Makefile.in makefiles: sanitize environment 2021-09-06 14:00:20 +02:00
polldaemon.c polldaemon: improve support for interruptions 2021-04-06 22:02:31 +02:00
pvchange.c cov: clean up pvid and vgid usage 2021-08-16 11:31:15 -05:00
pvck.c cov: make more obvious buffer is zero ended 2021-09-27 18:56:13 +02:00
pvcreate.c device usage based on devices file 2021-02-23 16:43:32 -06:00
pvdisplay.c add device hints to reduce scanning 2019-01-15 10:23:47 -06:00
pvmove_poll.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
pvmove_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pvmove.c archiving: take archive automatically 2021-06-09 14:56:13 +02:00
pvremove.c pvcreate: call label scan prior to pvcreate_each_device 2019-04-30 14:10:27 -05:00
pvresize.c exported vg handling 2019-06-25 15:39:08 -05:00
pvscan.c vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -05:00
reporter.c cleanup: use dm_list_empty 2021-10-06 15:43:31 +02:00
segtypes.c doc: change fsf address 2016-01-21 12:11:37 +01:00
stub.h Remove vgconvert 2018-06-13 14:14:03 -05:00
tags.c doc: change fsf address 2016-01-21 12:11:37 +01:00
tool.h configure: avoid repeative inclusion of configure.h 2018-12-21 19:19:50 +01:00
toollib.c move code from pvscan.c to online.c 2021-11-04 11:09:29 -05:00
toollib.h writecache: cachesettings in lvchange and lvs 2020-06-10 12:14:00 -05:00
tools.h move code from pvscan.c to online.c 2021-11-04 11:09:29 -05:00
vals.h tools: correct units description 2021-04-19 14:40:14 +02:00
vgcfgbackup.c improve reading and repairing vg metadata 2019-06-07 15:54:04 -05:00
vgcfgrestore.c gcc-fanalyzer: explicit test null not pass 2021-09-20 10:51:30 +02:00
vgchange.c vgchange -aay: optimize device list using pvs_online files 2021-11-05 12:19:35 -05:00
vgck.c vgck: fix updatemetadata writing different descriptions 2019-10-11 12:57:32 -05:00
vgcreate.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgdisplay.c tidy: Add missing underscores to statics. 2017-10-18 15:58:13 +01:00
vgexport.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgextend.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgimport.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgimportclone.c gcc-fanalyzer: use zeroed memory 2021-09-20 13:58:57 +02:00
vgimportdevices.c vgimportdevices: skip lvmlockd locking 2021-10-25 12:11:17 -05:00
vgmerge.c vgmerge: support option --poolmetadataspare 2021-07-23 16:36:31 +02:00
vgmknodes.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
vgreduce.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgremove.c vgremove: remove forgotten pmspare 2021-07-21 13:19:51 +02:00
vgrename.c cov: clean up pvid and vgid usage 2021-08-16 11:31:15 -05:00
vgscan.c locking: unify global lock for flock and lockd 2019-04-29 13:01:05 -05:00
vgsplit.c vgsplit: add support for option --poolmetadataspare 2021-07-21 15:56:33 +02:00