mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository
https://sourceware.org/lvm2/
74a388cca1
When a VG has multiple PVs, and all those PVs come online at the same time, concurrent pvscans for each PV will all create the individual pvid files, and all will often see the VG is now complete. This causes each of the pvscan commands to think it should activate the VG, so there are multiple activations of the same VG. The vg lock serializes them, and only the first pvscan actually does the activation, but there is still a lot of extra overhead and time used by the other pvscans that attempt to activate the already active VG. This can lead to a backlog of pvscans and timeouts. To fix this, this adds a new /run/lvm/vgs_online/ dir that works like the existing /run/lvm/pvs_online/ dir. Each pvscan that wants to activate a VG will first try to exlusively create the file vgs_online/<vgname>. Only the first pvscan will succeed, and that one will do the VG activation. The other pvscans will find the vgname file exists and will not do the activation step. When a PV goes offline, the vgs_online file for the corresponding VG is removed. This allows the VG to be autoactivated again when the PV comes online again. This requires that the vgname be stored in the pvid files. |
||
---|---|---|
autoconf | ||
base | ||
conf | ||
coverity | ||
daemons | ||
device_mapper | ||
doc | ||
include | ||
lib | ||
libdaemon | ||
libdm | ||
man | ||
nix | ||
po | ||
scripts | ||
spec | ||
test | ||
tools | ||
udev | ||
.gitignore | ||
acinclude.m4 | ||
aclocal.m4 | ||
configure | ||
configure.ac | ||
COPYING | ||
COPYING.BSD | ||
COPYING.LIB | ||
INSTALL | ||
make.tmpl.in | ||
Makefile.in | ||
README | ||
TESTING | ||
VERSION | ||
VERSION_DM | ||
WHATS_NEW | ||
WHATS_NEW_DM |
This tree contains the LVM2 and device-mapper tools and libraries. This is development branch, for stable 2.02 release see 2018-06-01-stable branch. 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.