1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00
lvm2/lib
David Teigland 50cc98c820 hints: new pvs_online type
Use a new form of hints to reduce device scanning in
vgchange -aay run by the udev rule for event based
autoactivation.

Standard hints allow a command with a named VG arg to scan
only the PVs in the named VG, rather than scanning all
available PVs.  Standard hints are useful with a stable set
of system devices.  When new devices are arriving, as occurs
during system startup, the hints are repeatedly invalidated,
which makes standard hints unhelpful while devices are
regularly appearing.  This is the situation in which
vgchange -aay is used, so standard hints are not generally
helpful for autoactivation.

In the context of system startup, pvscan --cache is keeping
track of available PVs using the pvs_online files, similar
to what the hints file does for a running system.  Given this,
a new hint mode, hints = "pvs_online", is added which derives
an equivalent to standard hints, based on pvs_online files
that are being created by udev-run pvscans.  This hint mode
is useful while devices are appearing, e.g. during system
startup, and vgchange -aay can benefit from it.

pvscan --cache -aay autoactivation already has a similar
optimization (the "quick" activation case) that is based
on the pvs_online file, but it is not implemented as a
form of hints.

This new form of hints is mainly useful in the context of
event based autoactivation, during which standard hints are
not useful.  Once the system is in a steady state after startup
(devices are not regularly appearing), the standard hints are
most useful.  The pvs_online hint method could be used on a
running system, but would be no better than standard hints,
and may be inferior because pvs_online files are not rigidly
updated after system startup.
2021-10-11 15:54:57 -05:00
..
activate make: replace legacy use rindex with strrchr 2021-09-27 18:56:14 +02:00
cache cleanup: all lvmcache_add users pass char with 0 2021-10-06 15:43:31 +02:00
cache_segtype gcc: remove invalid attribute 2021-09-13 12:34:41 +02:00
commands hints: new pvs_online type 2021-10-11 15:54:57 -05:00
config hints: new pvs_online type 2021-10-11 15:54:57 -05:00
datastruct cleanup: eliminate unused assign 2021-03-11 00:18:01 +01:00
device device_id: update stacked PVs for vgchange uuid 2021-10-04 16:54:44 -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 filters: fix memleak on mpath filter destroy 2021-09-13 12:34:41 +02:00
format_text cleanup: skip zeroing buffer overwritten by memcpy 2021-10-06 15:43:31 +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: new pvs_online type 2021-10-11 15:54:57 -05:00
locking cov: add error path for daemon_request_extend 2021-09-20 14:26:09 +02:00
log logging: to the systemd journal 2021-10-07 12:06:49 -05:00
lvmpolld device usage based on devices file 2021-02-23 16:43:32 -06:00
metadata pvscan: add options listlvs listvg checkcomplete 2021-10-07 12:06:49 -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 devices: rework libudev usage 2021-07-13 11:11:23 -05:00