1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
David Teigland 8bcd482cc5 pvscan: avoid redundant activation
Use temp files in /run/lvm/vgs_online/ to keep track of when
a VG has been autoactivated by pvscan.  When pvscan autoactivates
a VG, it creates a temp file with the VG's name.  Before a
subsequent pvscan tries to autoactivate the same VG, it checks
if a temp file exists for the VG name, and if so it skips it.

This can commonly happen when many devices appear on the system
at once, which generates several concurrent pvscans.  In this case
the first pvscan does initialization by scanning all devices and
activating any complete VGs.  The other pvscans would attempt to
activate the same complete VGs again.  This extra work could
create a bottleneck of pvscan commands.

If a VG is deactivated by vgchange, the vg online file is removed.
If PVs are then disconnected/reconnected, pvscan will again
autoactivate the VG.

Also, this patch disables the VG refresh that could be called from
pvscan --cache -aay if lvmetad detects metadata inconsistencies.
The role of pvscan should be limited to basic autoactivation, and
any refresh scenarios are special cases that are not appropriate
for automation.

The warning printed by commands retrying an lvmetad connection
has been reduced to once every 10 seconds.  New output messages
have been added to pvscan to record when pvscan is falling back
to direct activation of all VGs.
2019-08-26 16:25:18 -05:00
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
base radix-tree: fix some bugs in remove_prefix and iterate 2018-05-30 14:21:27 +01:00
conf build: make generate 2019-03-22 11:01:04 +01:00
coverity coverity: model few more functions 2017-06-27 12:17:16 +02:00
daemons dmeventd: avoid bail out preventing repair in raid plugin 2019-08-16 18:08:22 +02:00
device_mapper build: rename device-mapper to device_mapper 2018-05-12 18:18:23 +02:00
doc release note: typos 2018-05-24 12:32:16 +01:00
include configure: check for pselect 2019-04-10 13:24:41 +02:00
lib pvscan: avoid redundant activation 2019-08-26 16:25:18 -05:00
libdaemon cov: check for socket_path being set 2019-06-25 17:33:25 +02:00
libdm exported_symbols: comment old symbols 2019-08-07 15:28:55 +02:00
liblvm liblvm2app: add a couple tests 2018-05-17 15:55:44 -05:00
man man lvmthin: remove nonexistent topic 2019-08-19 14:09:43 -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
python python: specify libdm path for linking 2018-05-15 22:02:41 +02:00
scripts systemd: put back DefaultDependencies=no for lvmpolld and lvmetad socket unit 2019-04-11 12:25:45 +02:00
spec spec: Use python3 setuptools with python3 2019-01-03 14:39:28 +01:00
test tests: large-physical-sector-size 2019-07-30 16:12:45 -05:00
tools pvscan: avoid redundant activation 2019-08-26 16:25:18 -05:00
udev udev: do not overwrite ID_MODEL in 69-dm-lvm-metad.rules 2019-07-04 13:06:44 +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 [lib/device/bcache] Tweaks after Kabi's review 2018-04-20 11:10:45 -05:00
configure configure: check for pselect 2019-04-10 13:24:41 +02:00
configure.ac configure: check for pselect 2019-04-10 13:24:41 +02:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.BSD Add BSD 2-Clause License 2018-07-27 17:09:03 +02: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 make: support comments in exported symbols 2019-08-07 15:27:25 +02:00
Makefile.in build: lcov reporting for unit tests 2018-05-12 18:18:23 +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 2019-05-13 09:57:57 +02:00
VERSION_DM post-release 2019-05-13 09:57:57 +02:00
WHATS_NEW cache: improve vgremove loop 2019-08-26 15:36:41 +02:00
WHATS_NEW_DM dmsetup: debug print 2019-08-20 12:59:05 +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.