1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 10:25:13 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Heinz Mauelshagen 302b6c99a7 raid_manip: v2 fix multi-segment misallocation on 'lvconvert --repair'
The previous patch felt short WRT disabling allocation on PVs holding other
legs of the RAID LV persistently; this patch introduces an internal,
transient PV flag PV_ALLOCATION_PROHIBITED to address this very problem.

General problem description for completeness:

An 'lvconvert --repair $RAID_LV" to replace a failed leg of a multi-segment
RAID10/4/5/6 logical volume can lead to allocation of (parts of) the replacement
image component pair on the physical volume of another image component
(e.g. image 0 allocated on the same PV as image 1 silently impeding resilience).

Patch fixes this severe resilince issue by prohibiting allocation on PVs
already holding other legs of the RAID set. It allows to allocate free space
on any operational PV already holding parts of the image component pair.
2015-01-16 13:44:16 +01:00
autoconf autoconf: Update config.guess/sub to 2014-01-01. 2014-01-21 22:00:15 +00:00
conf thin: errrorwhenfull support 2015-01-14 14:52:05 +01:00
daemons dmeventd: Call lvscan --cache also for mirrors (in addition to RAID). 2015-01-14 18:05:44 +01: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 raid_manip: v2 fix multi-segment misallocation on 'lvconvert --repair' 2015-01-16 13:44:16 +01:00
libdaemon libdaemon: Fix some client leaks. 2014-11-28 21:31:51 +00:00
libdm thin: errrorwhenfull support 2015-01-14 14:52:05 +01:00
liblvm pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
man pvscan: notify lvmetad about device that is gone and pvscan is run with device path instead of major:minor pair 2015-01-12 13:59:51 +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 scripts: clvmd: replace awk functionality with LVM's selection 2015-01-09 16:41:07 +01:00
spec spec: new thin-generic.profile 2014-06-13 10:01:34 +02:00
test tests: pvscan --cache DevicePath does not fail if the device is just filtered 2015-01-12 15:16:57 +01:00
tools toollib: search for duplicate PVs only when needed 2015-01-14 14:47:08 -06: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 WHATS_NEW: previous commits related to duplicate PVs 2015-01-14 14:52:12 -06:00
WHATS_NEW_DM thin: errrorwhenfull support 2015-01-14 14:52:05 +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.