1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
David Teigland db741e75a2 pvscan: autoactivate without lvmetad
When lvmetad is not used, use temporary files to record
which PVs have appeared.  Use these temp files to determine
when a VG is complete, to trigger autoactivation.

This change allows us to remove lvmetad while keeping the
same autoactivation behavior that lvmetad provides.

The temp files are created in /run/lvm/pvs_online/ and are
named for the PVID of the PV.  The files contain the
major:minor of the device the PV was read from.

e.g. if VG foo has dev1 and dev2, then:

. pvscan --cache -aay dev1
  reads vg metadata from dev1
  creates /run/lvm/pvs_online/<pvid-of-dev1>
  checks if all vg->pvs are online: no

. pvscan --cache -aay dev2
  reads vg metadata from dev2
  creates /run/lvm/pvs_online/<pvid-of-dev2>
  checks if all vg->pvs are online: yes
  autoactivates vg

A 'pvscan --cache dev' (without -aay) still records that
dev is online.

A 'pvscan --cache --major X --minor Y' after a device is
gone will remove the temp file for it.

A 'pvscan --cache [-aay]' (no devs) resets the state of
temp files by removing them all, then scanning all devs
and creating temp files for PVs that are found.

If no online files exist, the first pvscan --cache scans
all devs and creates temp files for any PVs found.

The scope of the temp files is only pvscan, and they are only
used for pvscan-based autoactivation.  No other commands are
concerned with or aware of these temp files.  When lvm creates
or removes PVs, no attempt is made to update the temp files.
2018-07-09 16:11:24 -05:00
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
base radix-tree: squash a pointer arithmetic warning 2018-06-21 17:41:56 +01:00
conf dmeventd: lvm vdo support 2018-07-09 15:29:16 +02:00
coverity coverity: model few more functions 2017-06-27 12:17:16 +02:00
daemons dmeventd: base vdo plugin 2018-07-09 15:28:32 +02:00
device_mapper device_mapper: basic support for vdo dm target 2018-07-09 15:28:35 +02:00
doc Merge branch 'master' into 2018-05-11-fork-libdm 2018-06-01 13:04:12 +01:00
include build: add vdo configuration option --with-vdo= 2018-07-09 15:28:35 +02:00
lib pvscan: autoactivate without lvmetad 2018-07-09 16:11:24 -05:00
libdaemon device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
libdm dmsetup: fix error propagation in _display_info_cols() 2018-06-28 14:25:30 +01:00
man Revert "man: fix lvreduce example" 2018-06-27 09:20:21 -05:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
po doc: change fsf address 2016-01-21 12:11:37 +01:00
scripts build: drop some more old files 2018-07-02 10:21:42 +02:00
spec rpm: drop no longer present clvmd, lvm2app 2018-06-15 00:47:35 +02:00
test tests: initial vdo tests 2018-07-09 15:29:16 +02:00
tools pvscan: autoactivate without lvmetad 2018-07-09 16:11:24 -05:00
udev udev: keep systemd vars on change event in 69-dm-lvm-metad.rules for systemd reload 2018-04-17 11:38:12 +02:00
.gitignore gitignore 2018-05-23 16:53:18 +02:00
acinclude.m4 [build] uncomment 'serial 3' in an m4 file. 2018-04-30 09:44:27 +01:00
aclocal.m4 liblvm: remove lvmapi 2018-06-08 09:38:05 +01:00
configure build: add vdo configuration option --with-vdo= 2018-07-09 15:28:35 +02:00
configure.ac build: add vdo configuration option --with-vdo= 2018-07-09 15:28:35 +02:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in build: add vdo configuration option --with-vdo= 2018-07-09 15:28:35 +02:00
Makefile.in build: better srcdir builddir support 2018-06-14 22:02:01 +02:00
README README: Include new github links 2017-09-13 20:20:04 +01:00
TESTING docs: Add TESTING file 2017-12-14 16:45:47 +01:00
VERSION post-release 2018-05-24 15:23:08 +02:00
VERSION_DM post-release 2018-05-24 15:23:08 +02:00
WHATS_NEW lvcreate: vdo support 2018-07-09 15:29:12 +02:00
WHATS_NEW_DM dmeventd: base vdo plugin 2018-07-09 15:28:32 +02:00

This tree contains the LVM2 and device-mapper tools and libraries.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sourceware.org/pub/lvm2/
  ftp://sources.redhat.com/pub/lvm2/
  https://github.com/lvmteam/lvm2/releases

The source code is stored in git:
  https://sourceware.org/git/?p=lvm2.git
  git clone git://sourceware.org/git/lvm2.git
mirrored to:
  https://github.com/lvmteam/lvm2
  git clone https://github.com/lvmteam/lvm2.git
  git clone git@github.com:lvmteam/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

Website:
  https://sourceware.org/lvm2/

Report upstream bugs at:
  https://bugzilla.redhat.com/enter_bug.cgi?product=LVM%20and%20device-mapper
or open issues at:
  https://github.com/lvmteam/lvm2/issues

The source code repository used until 7th June 2012 is accessible here:
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2.