1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
David Teigland 74e404ce11 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-07-19 13:29:54 -05:00
..
activate thin: fix component detection of external origin 2021-07-14 12:56:08 +02:00
cache devices: rework libudev usage 2021-07-13 11:11:23 -05:00
cache_segtype cachevol: move flag setting after taking archive 2019-10-17 13:03:50 +02:00
commands hints: new pvs_online type 2021-07-19 13:29:54 -05:00
config hints: new pvs_online type 2021-07-19 13:29:54 -05:00
datastruct cleanup: eliminate unused assign 2021-03-11 00:18:01 +01:00
device fix multipath component detection for multiple holders 2021-07-13 11:11:23 -05:00
display lib: locking: Add new type "idm" 2021-05-20 16:01:05 -05:00
error device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
filters filter-usable: remove udev dev size check 2021-07-13 11:11:23 -05:00
format_text scan: move metadata vgname check 2021-07-06 10:10:23 -05: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-07-19 13:29:54 -05:00
locking backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
log logging: to the systemd journal 2021-07-14 12:52:22 -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-07-14 12:51:59 -05:00
mirror lv_info: missing check for info.exists 2021-03-14 16:34:38 +01:00
misc devices: rework libudev usage 2021-07-13 11:11:23 -05:00
mm cov: initialize value 2021-03-11 00:18:01 +01: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 Add metadata-based autoactivation property for VG and LV 2021-04-07 15:32:49 -05: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