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 966d4f36d7 filter-mpath: detect partitions of mpath components
We use mpath filtering (enabled by devices/multipath_component_detection=1
lvm.conf setting) to avoid a situation in which we could end up with
duplicate PVs found. We need to filter out the mpath components and
use only the top-level multipath mapping instead for PV scans.

However, if the there are partitions on multipath components, we need
to filter out these partitions. This patch fixes it so those
partitions found on multipath components are filtered as well.

For example, let's consider following configuration:
The sda and sdb are mpath components, sda1 and sdb1 the partitions
on these components, mpath-test the mpath mapping and mpath-test1
the partition mapping - created automatically by kpartx right
after mpath-test creation. The PV resides on top.

       (LVM PV)
          |
      mpath-test1
          |
      mpath-test
          |
sda1 ---------- sdb1
   \ |        |/
    sda      sdb

E.g. for sda1 and sdb1, the code will detect this and it skips
the partition that belongs to the multipath component:
  <snippet from the log>
    #filters/filter-mpath.c:156         /dev/sda1: Device is a partition, using primary device /dev/sda for mpath component detection
    130 #ioctl/libdm-iface.c:1724         dm status   (253:2) OF[16384](*1)
    131 #filters/filter-mpath.c:196         /dev/sda1: Skipping mpath component device
  </snippet from the log>

Othewise, we'd see the same PV label on sda1/sdb1 and mpath-test1
at the same time ending up with "Duplicate PV found...".
2013-06-12 13:13:38 +02:00
autoconf Using Fedora 14's autoreconf. 2011-01-07 14:38:34 +00:00
daemons activation: Pass both ondisk and incore LV to suspend. 2013-06-10 17:26:38 +02:00
doc doc: update dm kernel files to 3.10-rc1 2013-05-17 16:05:17 +01:00
include refactor: make device type recognition code common for general use 2013-06-12 12:08:56 +02:00
lib filter-mpath: detect partitions of mpath components 2013-06-12 13:13:38 +02:00
libdaemon cleanup: add printf attribute 2013-04-21 23:14:05 +02:00
libdm libdm: move thin max size to header 2013-06-11 14:21:00 +02:00
liblvm locking: Make it possible to pass down an LV to activation code. 2013-06-10 17:26:38 +02:00
man thin: lvresize supports pool metadata resize 2013-06-11 14:05:20 +02:00
old-tests Add .gitignore files for an in-source-tree build. 2012-06-08 16:26:21 +01:00
po INSTALL rules updates 2010-04-09 21:42:48 +00:00
python lvm2app: No special behavior for 0 for max_snap_size in lvm_lv_snapshot() 2012-12-17 14:14:38 -08: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 initscripts: add pidfile reference in chkconfig header for clvmd and cmirrord 2013-06-07 14:07:56 +02:00
test tests: lvresize thin 2013-06-11 14:07:51 +02:00
tools lvresize: improve poolmetadatasize 2013-06-11 19:46:42 +02:00
udev udev: fire pvscan --cache properly on CHANGE event for MD devices 2013-05-03 13:55:53 +02:00
unit-tests cleanup: replace memset with struct initilization 2012-06-22 13:23:03 +02:00
.gitignore gitignore: Ignore files ending in ~ 2012-06-11 16:13:02 +01:00
aclocal.m4 Add aclocal.m4 (for pkgconfig). 2011-01-07 16:27:05 +00:00
configure initscripts: add pidfile reference in chkconfig header for clvmd and cmirrord 2013-06-07 14:07:56 +02:00
configure.in initscripts: add pidfile reference in chkconfig header for clvmd and cmirrord 2013-06-07 14:07:56 +02: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 make: fix exported symbols regex for non-GNU sed 2013-05-14 19:29:26 +01:00
Makefile.in makefiles: cleanup update 2013-06-04 15:57:18 +02:00
README Rename git report from LVM2.git to lvm2.git. 2012-06-08 17:41:43 +01:00
VERSION version: update 2012-10-22 14:16:06 +02:00
VERSION_DM version: update 2012-10-22 14:16:06 +02:00
WHATS_NEW filter-mpath: detect partitions of mpath components 2013-06-12 13:13:38 +02:00
WHATS_NEW_DM libdm: add public macro DM_TO_STRING 2013-05-30 16:53:59 +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://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.