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
Peter Rajnoha ff1eca3b6f mirror: do not try to reactivate inactive mirror when removing its LVs which have missing PVs
When mirror has missing PVs and there are mirror images on those missing
PVs, we delete the images and during this delete operation, we also
reactivate the LV. But if we're trying to reactivate the LV in cluster
which is not active and at the same time cmirrord is not running (which
is OK since we may have created the mirror LV as inactive), we end up
with:
  "Error locking on node <node_name>: Shared cluster mirrors are not available."

That is because we're trying to activate the mirror LV without cmirrord.
However, there's no need to do this reactivation if the mirror LV (and
hence it's sub LVs) were not activated before.

This issue caused failure in mirror-vgreduce-removemissing.sh test
recently with this sequence (excerpt from the test script):

  prepare_lvs_
  lvcreate -an -Zn -l2 --type mirror -m1 --nosync -n $lv1 $vg "$dev1" $dev2" "$dev3":$BLOCKS
  mimages_are_on_ $lv1 "$dev1" "$dev2"
  mirrorlog_is_on_ $lv1 "$dev3"
  aux disable_dev "$dev2"
  vgreduce --removemissing --force $vg

The important thing about that test is that we're not running cmirrord,
we're activating the mirror with "-an" so it's inactive and then
vgreduce --removemissing tries to reactivate the mirror images
as part of the _delete_lv function call inside and since cmirrord
is not running, we end up with the "Shared cluster mirrors are not
available." error.
2015-01-07 11:16:19 +01:00
autoconf autoconf: Update config.guess/sub to 2014-01-01. 2014-01-21 22:00:15 +00:00
conf libdm: report: compact output applicable only if report is buffered 2014-12-05 14:18:51 +01:00
daemons libdaemon: Fix some client leaks. 2014-11-28 21:31:51 +00:00
doc conf: add separate 'conf' dir for config files 2013-07-02 15:22:11 +02:00
include report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
lib mirror: do not try to reactivate inactive mirror when removing its LVs which have missing PVs 2015-01-07 11:16:19 +01:00
libdaemon libdaemon: Fix some client leaks. 2014-11-28 21:31:51 +00:00
libdm libdm: report: also check whether field type is supported for field-specific reserved value 2014-12-18 11:29:48 +01:00
liblvm pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
man man: put back the --binary reference in {pv,vg,lv}display man page 2014-12-11 15:50:37 +01:00
nix NIX: Fix 32b builds (2G of RAM is 1M too much for 32b QEMU). 2014-10-22 09:03:26 +02:00
old-tests report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
po make: Fix pofile and .d file generation. 2014-07-02 00:48:50 +01:00
python makefiles: standard usage of make.tmpl 2014-11-22 09:58:31 +01:00
report-generators add copyright notices to new files 2010-07-28 12:20:38 +00:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts vgimportclone: also notify lvmetad about changes if it's used 2014-12-10 14:00:56 +01:00
spec spec: new thin-generic.profile 2014-06-13 10:01:34 +02:00
test pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
tools pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
udev makefiles: compile files on make 2014-04-18 16:38:49 +02:00
unit-tests cleanup: use DM_ARRAY_SIZE 2014-04-08 11:00:15 +02:00
.gitignore gitignore: Ignore files ending in ~ 2012-06-11 16:13:02 +01:00
acinclude.m4 configure: also LDFLAGS, not LDLAGS for proper restore 2013-12-04 15:00:56 +01:00
aclocal.m4 configure: make configure --enable-udev-systemd-background-jobs only for systemd >= 205 2014-11-19 13:47:18 +01:00
configure configure: fix automatic use of configure --enable-udev-systemd-background-jobs 2014-12-08 10:52:47 +01:00
configure.in configure: fix automatic use of configure --enable-udev-systemd-background-jobs 2014-12-08 10:52:47 +01:00
COPYING Outline docs 2001-12-31 16:12:40 +00: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 makefiles: fix linking of PIE code 2014-09-18 18:14:21 +02:00
Makefile.in makefiles: wait till include is populated 2014-04-18 16:38:48 +02:00
README Rename git report from LVM2.git to lvm2.git. 2012-06-08 17:41:43 +01:00
VERSION post-release 2014-11-28 23:07:31 +00:00
VERSION_DM post-release 2014-11-28 23:07:31 +00:00
WHATS_NEW pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
WHATS_NEW_DM WHATS_NEW: f94f846 actually fixes DM issue, not LVM issue 2014-12-09 10:52:07 +01: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://sources.redhat.com/pub/lvm2/

The source code is stored in git:
  http://git.fedorahosted.org/git/lvm2.git
  git clone git://git.fedorahosted.org/git/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/linux-lvm

  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

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