summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2011-09-13 05:47:25 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2011-09-13 05:47:25 +0000
commitdcba3132fda52ed62ad4a38ade7a6140d3422238 (patch)
treefcb33fa49f3f4b0f2f466ea34f13d0cc525d3c77 /sys-fs/lvm2/files
parentDie if we fail to remove setup.cfg. (diff)
downloadgentoo-2-dcba3132fda52ed62ad4a38ade7a6140d3422238.tar.gz
gentoo-2-dcba3132fda52ed62ad4a38ade7a6140d3422238.tar.bz2
gentoo-2-dcba3132fda52ed62ad4a38ade7a6140d3422238.zip
Clean up old versions and FILESDIR for them. Fix install of VERSION_DM in 2.02.88.
(Portage version: 2.2.0_alpha51/cvs/Linux x86_64)
Diffstat (limited to 'sys-fs/lvm2/files')
-rw-r--r--sys-fs/lvm2/files/64-device-mapper.rules-1.02.22-r525
-rw-r--r--sys-fs/lvm2/files/64-device-mapper.rules-1.02.49-r226
-rw-r--r--sys-fs/lvm2/files/64-device-mapper.rules-2.02.56-r326
-rwxr-xr-xsys-fs/lvm2/files/clvmd.rc-2.02.28-r3126
-rw-r--r--sys-fs/lvm2/files/device-mapper.rc-1.02.22-r324
-rw-r--r--sys-fs/lvm2/files/lvm.conf-2.02.33.patch89
-rw-r--r--sys-fs/lvm2/files/lvm.conf-2.02.36.patch89
-rw-r--r--sys-fs/lvm2/files/lvm.conf-2.02.45.patch79
-rw-r--r--sys-fs/lvm2/files/lvm.conf-2.02.51.patch79
-rw-r--r--sys-fs/lvm2/files/lvm.conf-2.02.56.patch48
-rw-r--r--sys-fs/lvm2/files/lvm.rc-2.02.28-r229
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.45-device-mapper-export-format.patch285
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.45-dmeventd.patch11
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.48-as-needed.patch188
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.48-device-mapper-export-format.patch306
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.48-fix-pkgconfig.patch45
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.49-lockdir-override.patch386
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.51-as-needed.patch191
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.51-device-mapper-export-format.patch308
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix-r3.patch27
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix.patch19
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.51-fix-pvcreate.patch98
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.56-always-make-static-libdm.patch42
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.56-device-mapper-export-format.patch288
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.56-dmeventd.patch12
-rwxr-xr-xsys-fs/lvm2/files/lvm2-start.sh-2.02.28-r240
-rwxr-xr-xsys-fs/lvm2/files/lvm2-start.sh-2.02.49-r142
-rwxr-xr-xsys-fs/lvm2/files/lvm2-stop.sh-2.02.28-r565
-rwxr-xr-xsys-fs/lvm2/files/lvm2-stop.sh-2.02.3765
-rwxr-xr-xsys-fs/lvm2/files/lvm2-stop.sh-2.02.49-r167
30 files changed, 0 insertions, 3125 deletions
diff --git a/sys-fs/lvm2/files/64-device-mapper.rules-1.02.22-r5 b/sys-fs/lvm2/files/64-device-mapper.rules-1.02.22-r5
deleted file mode 100644
index 36c085b56b97..000000000000
--- a/sys-fs/lvm2/files/64-device-mapper.rules-1.02.22-r5
+++ /dev/null
@@ -1,25 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-KERNEL=="device-mapper", SYMLINK+="mapper/control"
-
-KERNEL!="dm-*", GOTO="device_mapper_end"
-ACTION!="add|change", GOTO="device_mapper_end"
-
-IMPORT{program}="/sbin/dmsetup info --export -j%M -m%m"
-ENV{DM_NAME}!="?*", GOTO="device_mapper_end"
-NAME="mapper/$env{DM_NAME}", SYMLINK+="%k"
-
-SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
-ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
-
-ENV{DM_SUSPENDED}=="1", GOTO="device_mapper_end"
-ENV{DM_EXISTS}=="0", GOTO="device_mapper_end"
-ENV{DM_TARGET_TYPES}=="|*error*", GOTO="device_mapper_end"
-
-IMPORT{program}="vol_id --export $tempnode"
-OPTIONS="link_priority=-100"
-ENV{DM_TARGET_TYPES}=="*snapshot-origin*", OPTIONS="link_priority=-90"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="device_mapper_end"
diff --git a/sys-fs/lvm2/files/64-device-mapper.rules-1.02.49-r2 b/sys-fs/lvm2/files/64-device-mapper.rules-1.02.49-r2
deleted file mode 100644
index b6b2c889aef1..000000000000
--- a/sys-fs/lvm2/files/64-device-mapper.rules-1.02.49-r2
+++ /dev/null
@@ -1,26 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-KERNEL=="device-mapper", SYMLINK+="mapper/control"
-
-KERNEL!="dm-*", GOTO="device_mapper_end"
-ACTION!="add|change", GOTO="device_mapper_end"
-
-IMPORT{program}="/sbin/dmsetup info --export -j%M -m%m"
-ENV{DM_NAME}!="?*", GOTO="device_mapper_end"
-NAME="mapper/$env{DM_NAME}", SYMLINK+="%k"
-
-SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}", OPTIONS+="string_escape=replace"
-ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}", OPTIONS+="string_escape=replace"
-
-ENV{DM_SUSPENDED}=="1", GOTO="device_mapper_end"
-ENV{DM_EXISTS}=="0", GOTO="device_mapper_end"
-ENV{DM_TARGET_TYPES}=="|*error*", GOTO="device_mapper_end"
-
-IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
-OPTIONS+="link_priority=-100"
-OPTIONS+="watch"
-ENV{DM_TARGET_TYPES}=="*snapshot-origin*", OPTIONS+="link_priority=-90"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="device_mapper_end"
diff --git a/sys-fs/lvm2/files/64-device-mapper.rules-2.02.56-r3 b/sys-fs/lvm2/files/64-device-mapper.rules-2.02.56-r3
deleted file mode 100644
index 7fdf3b1eb575..000000000000
--- a/sys-fs/lvm2/files/64-device-mapper.rules-2.02.56-r3
+++ /dev/null
@@ -1,26 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-KERNEL=="device-mapper", NAME="mapper/control"
-
-KERNEL!="dm-*", GOTO="device_mapper_end"
-ACTION!="add|change", GOTO="device_mapper_end"
-
-IMPORT{program}="/sbin/dmsetup info --export -j%M -m%m"
-ENV{DM_NAME}!="?*", GOTO="device_mapper_end"
-NAME="mapper/$env{DM_NAME}", SYMLINK+="%k"
-
-SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}", OPTIONS+="string_escape=replace"
-ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}", OPTIONS+="string_escape=replace"
-
-ENV{DM_SUSPENDED}=="1", GOTO="device_mapper_end"
-ENV{DM_EXISTS}=="0", GOTO="device_mapper_end"
-ENV{DM_TARGET_TYPES}=="|*error*", GOTO="device_mapper_end"
-
-IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
-OPTIONS+="link_priority=-100"
-OPTIONS+="watch"
-ENV{DM_TARGET_TYPES}=="*snapshot-origin*", OPTIONS+="link_priority=-90"
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-LABEL="device_mapper_end"
diff --git a/sys-fs/lvm2/files/clvmd.rc-2.02.28-r3 b/sys-fs/lvm2/files/clvmd.rc-2.02.28-r3
deleted file mode 100755
index 80cfdb1b12bf..000000000000
--- a/sys-fs/lvm2/files/clvmd.rc-2.02.28-r3
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/clvmd.rc-2.02.28-r3,v 1.1 2007/11/16 08:05:01 robbat2 Exp $
-
-depend() {
- use dns logger
- use net
- need cluster-manager cluster-locking-manager fenced
-}
-
-exefile=/sbin/clvmd
-
-umount_gfs_filesystems() {
- local sig retry
- local remaining="$(awk '$3 == "gfs" { print $2 }' /proc/mounts | sort -r)"
-
- if [ -n "${remaining}" ]
- then
- sig=
- retry=3
- while [ -n "${remaining}" -a "${retry}" -gt 0 ]
- do
- if [ "${retry}" -lt 3 ]
- then
- ebegin "Unmounting GFS filesystems (retry)"
- umount ${remaining} &>/dev/null
- eend $? "Failed to unmount GFS filesystems this retry"
- else
- ebegin "Unmounting GFS filesystems"
- umount ${remaining} &>/dev/null
- eend $? "Failed to unmount GFS filesystems"
- fi
- remaining="$(awk '$3 == "gfs" { print $2 }' /proc/mounts | sort -r)"
- [ -z "${remaining}" ] && break
- /bin/fuser -k -m ${sig} ${remaining} &>/dev/null
- sleep 5
- retry=$((${retry} -1))
- sig=-9
- done
- fi
-}
-
-
-
-start() {
- if [ -e /proc/modules -a ! -e /dev/device-mapper ] ; then
- ebegin "Loading device-mapper module"
- modprobe -q dm-mod
- eend $?
- fi
- if [ ! -e /dev/device-mapper ]; then
- eerror "device-mapper not available!"
- exit 1
- fi
-
- ebegin "Starting clvmd"
- start-stop-daemon --start --quiet --exec ${exefile}
- rc=$?
- eend $rc
-
- ebegin "Scanning LVM volumes"
- /sbin/vgscan &>/dev/null
- rc=$?
- eend $rc
-
- if [ "$rc" -eq 0 ] && [ -x /sbin/vgchange ] && [ -d /etc/lvm ]
- then
- ebegin "Setting up the Logical Volume Manager"
- /sbin/vgchange -aly >/dev/null
- eend $? "Failed to setup the LVM"
- fi
-
-}
-
-stop() {
- # umount GFS filesystems
- umount_gfs_filesystems
-
- # This sucks majorly. We need to find a way to only take out the CLUSTER
- # VGs and LVs, and never the local ones.
- einfo "Shutting down the Logical Volume Manager"
-
- LOGICAL_VOLUMES=`lvdisplay |grep "LV Name"|awk '{print $3}'|sort|xargs echo`
- VOLUME_GROUPS=`vgdisplay |grep "VG Name"|awk '{print $3}'|sort|xargs echo`
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|awk '{print $3}'`
- if [ "${LV_IS_ACTIVE}" = 0 ]
- then
- ebegin " Shutting Down logical volume: ${x} "
- lvchange -an --ignorelockingfailure -P ${x} >/dev/null
- eend $?
- fi
- done
-
- for x in ${VOLUME_GROUPS}
- do
- VG_HAS_ACTIVE_LV=`vgdisplay ${x}|grep "Open LV"|awk '{print $3}'|xargs echo`
- if [ "${VG_HAS_ACTIVE_LV}" = 0 ]
- then
- ebegin " Shutting Down volume group: ${x} "
- vgchange -an --ignorelockingfailure -P ${x} >/dev/null
- eend
- fi
- done
-
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|awk '{print $3}'`
- if [ "${LV_IS_ACTIVE}" = 1 ]
- then
-
- ROOT_DEVICE=`mount|grep " / "|awk '{print $1}'`
- if [ ! ${ROOT_DEVICE} = ${x} ]
- then
- ewarn " Unable to shutdown: ${x} "
- fi
- fi
- done
- einfo "Finished Shutting down the Logical Volume Manager"
-
- ebegin "Stopping clvmd"
- start-stop-daemon --stop --quiet --exec ${exefile}
- eend $?
-}
diff --git a/sys-fs/lvm2/files/device-mapper.rc-1.02.22-r3 b/sys-fs/lvm2/files/device-mapper.rc-1.02.22-r3
deleted file mode 100644
index 226ee80e30a3..000000000000
--- a/sys-fs/lvm2/files/device-mapper.rc-1.02.22-r3
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/device-mapper.rc-1.02.22-r3,v 1.1 2009/04/09 23:00:10 caleb Exp $
-
-depend() {
- # necessary for services when using baselayout-2
- # but conflict for baselayout-1
- if [ -e /etc/init.d/root ] ; then
- after modules
- before checkfs fsck
- fi
-}
-
-start() {
- if [ ! -e /etc/init.d/root ] ; then
- eerror "The ${SVCNAME} init script is written for baselayout-2"
- eerror "Please do not use it with baselayout-1"
- return 1
- fi
-
- start_addon dm
-}
-
diff --git a/sys-fs/lvm2/files/lvm.conf-2.02.33.patch b/sys-fs/lvm2/files/lvm.conf-2.02.33.patch
deleted file mode 100644
index dd80f8b0fbb8..000000000000
--- a/sys-fs/lvm2/files/lvm.conf-2.02.33.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-diff -Nuar --exclude '*.rej' --exclude '*.orig' LVM2.2.02.33.orig/doc/example.conf LVM2.2.02.33/doc/example.conf
---- LVM2.2.02.33.orig/doc/example.conf 2008-01-09 07:32:19.000000000 -0800
-+++ LVM2.2.02.33/doc/example.conf 2008-02-06 17:39:20.439958042 -0800
-@@ -49,7 +49,9 @@
-
-
- # By default we accept every block device:
-- filter = [ "a/.*/" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-@@ -85,7 +87,7 @@
- # If sysfs is mounted (2.6 kernels) restrict device scanning to
- # the block devices it believes are valid.
- # 1 enables; 0 disables.
-- sysfs_scan = 1
-+ sysfs_scan = 1
-
- # By default, LVM2 will ignore devices used as components of
- # software RAID (md) devices by looking for md superblocks.
-@@ -218,12 +220,14 @@
- # e.g. vgscan.lvm1 and they will stop working after you start using
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
- # Defaults to "lvm1" if compiled in, else "lvm2".
-- # format = "lvm1"
-+ # Gentoo: default to LVM2 format
-+ format = "lvm2"
-
- # Location of proc filesystem
- proc = "/proc"
-@@ -350,12 +354,12 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
--
-- # pvmetadatacopies = 1
-+ # Gentoo: enabled for data safety
-+ pvmetadatacopies = 2
-
- # Approximate default size of on-disk metadata areas in sectors.
- # You should increase this if you have large volume groups or
-@@ -377,11 +381,11 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
--#
--# dmeventd {
-+# Gentoo: uncommented, since we provide the dmeventd init script
-+dmeventd {
- # mirror_library is the library used when monitoring a mirror device.
- #
- # "libdevmapper-event-lvm2mirror.so" attempts to recover from
-@@ -389,7 +393,7 @@
- # reconfigures a mirror as necessary. If no mirror library is
- # provided, mirrors are not monitored through dmeventd.
-
-- # mirror_library = "libdevmapper-event-lvm2mirror.so"
-+ mirror_library = "libdevmapper-event-lvm2mirror.so"
-
- # snapshot_library is the library used when monitoring a snapshot device.
- #
-@@ -398,6 +402,6 @@
- # snapshot exceedes 80%. The warning is repeated when 85%, 90% and
- # 95% of the snapshot are filled.
-
-- # snapshot_library = "libdevmapper-event-lvm2snapshot.so"
--#}
-+ snapshot_library = "libdevmapper-event-lvm2snapshot.so"
-+}
-
diff --git a/sys-fs/lvm2/files/lvm.conf-2.02.36.patch b/sys-fs/lvm2/files/lvm.conf-2.02.36.patch
deleted file mode 100644
index 98ac3c1e7b1b..000000000000
--- a/sys-fs/lvm2/files/lvm.conf-2.02.36.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-diff -Nuar --exclude '*.orig' LVM2.2.02.36.orig/doc/example.conf LVM2.2.02.36/doc/example.conf
---- LVM2.2.02.36.orig/doc/example.conf 2008-04-10 11:50:37.000000000 -0700
-+++ LVM2.2.02.36/doc/example.conf 2008-04-29 23:45:08.165059223 -0700
-@@ -50,7 +50,9 @@
-
-
- # By default we accept every block device:
-- filter = [ "a/.*/" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-@@ -86,7 +88,7 @@
- # If sysfs is mounted (2.6 kernels) restrict device scanning to
- # the block devices it believes are valid.
- # 1 enables; 0 disables.
-- sysfs_scan = 1
-+ sysfs_scan = 1
-
- # By default, LVM2 will ignore devices used as components of
- # software RAID (md) devices by looking for md superblocks.
-@@ -219,12 +221,14 @@
- # e.g. vgscan.lvm1 and they will stop working after you start using
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
- # Defaults to "lvm1" if compiled in, else "lvm2".
-- # format = "lvm1"
-+ # Gentoo: default to LVM2 format
-+ format = "lvm2"
-
- # Location of proc filesystem
- proc = "/proc"
-@@ -351,12 +355,12 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
--
-- # pvmetadatacopies = 1
-+ # Gentoo: enabled for data safety
-+ pvmetadatacopies = 2
-
- # Approximate default size of on-disk metadata areas in sectors.
- # You should increase this if you have large volume groups or
-@@ -378,11 +382,11 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
--#
--# dmeventd {
-+# Gentoo: uncommented, since we provide the dmeventd init script
-+dmeventd {
- # mirror_library is the library used when monitoring a mirror device.
- #
- # "libdevmapper-event-lvm2mirror.so" attempts to recover from
-@@ -390,7 +394,7 @@
- # reconfigures a mirror as necessary. If no mirror library is
- # provided, mirrors are not monitored through dmeventd.
-
-- # mirror_library = "libdevmapper-event-lvm2mirror.so"
-+ mirror_library = "libdevmapper-event-lvm2mirror.so"
-
- # snapshot_library is the library used when monitoring a snapshot device.
- #
-@@ -399,6 +403,6 @@
- # snapshot exceedes 80%. The warning is repeated when 85%, 90% and
- # 95% of the snapshot are filled.
-
-- # snapshot_library = "libdevmapper-event-lvm2snapshot.so"
--#}
-+ snapshot_library = "libdevmapper-event-lvm2snapshot.so"
-+}
-
diff --git a/sys-fs/lvm2/files/lvm.conf-2.02.45.patch b/sys-fs/lvm2/files/lvm.conf-2.02.45.patch
deleted file mode 100644
index 0bd98bc675eb..000000000000
--- a/sys-fs/lvm2/files/lvm.conf-2.02.45.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- doc/example.conf.orig 2009-02-22 14:00:26.000000000 -0500
-+++ doc/example.conf 2009-03-22 04:10:05.629026882 -0400
-@@ -50,7 +50,9 @@
-
-
- # By default we accept every block device:
-- filter = [ "a/.*/" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-@@ -230,12 +232,14 @@
- # e.g. vgscan.lvm1 and they will stop working after you start using
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
- # Defaults to "lvm1" if compiled in, else "lvm2".
-- # format = "lvm1"
-+ # Gentoo: default to LVM2 format
-+ format = "lvm2"
-
- # Location of proc filesystem
- proc = "/proc"
-@@ -364,12 +368,12 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
--
-- # pvmetadatacopies = 1
-+ # Gentoo: enabled for data safety
-+ pvmetadatacopies = 2
-
- # Approximate default size of on-disk metadata areas in sectors.
- # You should increase this if you have large volume groups or
-@@ -391,11 +395,11 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
--#
--# dmeventd {
-+# Gentoo: uncommented, since we provide the dmeventd init script
-+dmeventd {
- # mirror_library is the library used when monitoring a mirror device.
- #
- # "libdevmapper-event-lvm2mirror.so" attempts to recover from
-@@ -403,7 +407,7 @@
- # reconfigures a mirror as necessary. If no mirror library is
- # provided, mirrors are not monitored through dmeventd.
-
-- # mirror_library = "libdevmapper-event-lvm2mirror.so"
-+ mirror_library = "libdevmapper-event-lvm2mirror.so"
-
- # snapshot_library is the library used when monitoring a snapshot device.
- #
-@@ -412,6 +416,6 @@
- # snapshot exceedes 80%. The warning is repeated when 85%, 90% and
- # 95% of the snapshot are filled.
-
-- # snapshot_library = "libdevmapper-event-lvm2snapshot.so"
--#}
-+ snapshot_library = "libdevmapper-event-lvm2snapshot.so"
-+}
-
diff --git a/sys-fs/lvm2/files/lvm.conf-2.02.51.patch b/sys-fs/lvm2/files/lvm.conf-2.02.51.patch
deleted file mode 100644
index 25e95ae46b48..000000000000
--- a/sys-fs/lvm2/files/lvm.conf-2.02.51.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- doc/example.conf.orig 2009-02-22 14:00:26.000000000 -0500
-+++ doc/example.conf 2009-03-22 04:10:05.629026882 -0400
-@@ -50,7 +50,9 @@
-
-
- # By default we accept every block device:
-- filter = [ "a/.*/" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-@@ -230,12 +232,14 @@
- # e.g. vgscan.lvm1 and they will stop working after you start using
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
- # Defaults to "lvm1" if compiled in, else "lvm2".
-- # format = "lvm1"
-+ # Gentoo: default to LVM2 format
-+ format = "lvm2"
-
- # Location of proc filesystem
- proc = "/proc"
-@@ -364,12 +368,12 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
--
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ #pvmetadatacopies = 2
-
- # Approximate default size of on-disk metadata areas in sectors.
- # You should increase this if you have large volume groups or
-@@ -391,11 +395,11 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
--#
--# dmeventd {
-+# Gentoo: uncommented, since we provide the dmeventd init script
-+dmeventd {
- # mirror_library is the library used when monitoring a mirror device.
- #
- # "libdevmapper-event-lvm2mirror.so" attempts to recover from
-@@ -403,7 +407,7 @@
- # reconfigures a mirror as necessary. If no mirror library is
- # provided, mirrors are not monitored through dmeventd.
-
-- # mirror_library = "libdevmapper-event-lvm2mirror.so"
-+ mirror_library = "libdevmapper-event-lvm2mirror.so"
-
- # snapshot_library is the library used when monitoring a snapshot device.
- #
-@@ -412,6 +416,6 @@
- # snapshot exceedes 80%. The warning is repeated when 85%, 90% and
- # 95% of the snapshot are filled.
-
-- # snapshot_library = "libdevmapper-event-lvm2snapshot.so"
--#}
-+ snapshot_library = "libdevmapper-event-lvm2snapshot.so"
-+}
-
diff --git a/sys-fs/lvm2/files/lvm.conf-2.02.56.patch b/sys-fs/lvm2/files/lvm.conf-2.02.56.patch
deleted file mode 100644
index 5f2abd531763..000000000000
--- a/sys-fs/lvm2/files/lvm.conf-2.02.56.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -Nuar --exclude '*.orig' --exclude '*.rej' LVM2.2.02.56.orig/doc/example.conf LVM2.2.02.56/doc/example.conf
---- LVM2.2.02.56.orig/doc/example.conf 2009-10-05 12:44:21.000000000 +0000
-+++ LVM2.2.02.56/doc/example.conf 2009-11-29 23:53:00.123882589 +0000
-@@ -50,7 +50,9 @@
-
-
- # By default we accept every block device:
-- filter = [ "a/.*/" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-@@ -259,6 +261,8 @@
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
-@@ -411,12 +415,12 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
--
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ #pvmetadatacopies = 2
-
- # Approximate default size of on-disk metadata areas in sectors.
- # You should increase this if you have large volume groups or
-@@ -438,7 +442,7 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
- #
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.28-r2 b/sys-fs/lvm2/files/lvm.rc-2.02.28-r2
deleted file mode 100644
index 0d17437b245f..000000000000
--- a/sys-fs/lvm2/files/lvm.rc-2.02.28-r2
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm.rc-2.02.28-r2,v 1.4 2009/01/17 22:53:15 robbat2 Exp $
-
-depend() {
- if [ -f /etc/init.d/sysfs ]; then
- # on baselayout-1 this causes
- # dependency-cycles with checkroot (before *)
- before checkfs fsck
- after modules device-mapper
- fi
-}
-
-start() {
- if [ ! -f /etc/init.d/sysfs ]; then
- eerror "The $SVCNAME init-script is written for baselayout-2!"
- eerror "Please do not use it with baselayout-1!".
- return 1
- fi
-
- start_addon lvm
-}
-
-stop() {
- stop_addon lvm
-}
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-2.02.45-device-mapper-export-format.patch b/sys-fs/lvm2/files/lvm2-2.02.45-device-mapper-export-format.patch
deleted file mode 100644
index 6f541d484a47..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.45-device-mapper-export-format.patch
+++ /dev/null
@@ -1,285 +0,0 @@
---- tools/dmsetup.c 2008-06-24 15:53:47.000000000 -0700
-+++ tools/dmsetup.c 2008-06-28 01:53:56.048598048 -0700
-@@ -108,6 +108,7 @@
- enum {
- READ_ONLY = 0,
- COLS_ARG,
-+ EXPORT_ARG,
- EXEC_ARG,
- FORCE_ARG,
- GID_ARG,
-@@ -142,7 +143,8 @@
- DR_TASK = 1,
- DR_INFO = 2,
- DR_DEPS = 4,
-- DR_TREE = 8 /* Complete dependency tree required */
-+ DR_TREE = 8, /* Complete dependency tree required */
-+ DR_TABLE = 0x10, /* table is required, not just info */
- } report_type_t;
-
- static int _switches[NUM_SWITCHES];
-@@ -1126,8 +1128,13 @@
- name = argv[1];
- }
-
-- if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-- return 0;
-+ if (_report_type & DR_TABLE ) {
-+ if (!(dmt = dm_task_create(DM_DEVICE_TABLE)))
-+ return 0;
-+ } else {
-+ if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-+ return 0;
-+ }
-
- if (!_set_task_device(dmt, name, 0))
- goto out;
-@@ -1591,6 +1598,16 @@
- return dm_report_field_uint32(rh, field, &value);
- }
-
-+static int _int_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const int value = *(const int *)data;
-+
-+ return dm_report_field_int(rh, field, &value);
-+}
-+
- static int _dm_name_disp(struct dm_report *rh,
- struct dm_pool *mem __attribute((unused)),
- struct dm_report_field *field, const void *data,
-@@ -1702,6 +1719,66 @@
- }
-
-
-+static int _dm_info_cleartext_status_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const char *buf = "NOTPRESENT";
-+ const struct dm_info *info = data;
-+
-+ if (info->exists) {
-+ if (info->suspended)
-+ buf = "SUSPENDED";
-+ else
-+ buf = info->read_only ? " READONLY" : "ACTIVE";
-+ }
-+
-+ return dm_report_field_string(rh, field, &buf);
-+}
-+
-+static int _dm_info_target_types_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ char buf[1024];
-+ char *dest = buf;
-+ int remains = sizeof(buf);
-+ int written;
-+ const char *s = buf;
-+ struct dm_task *dmt = (struct dm_task *) data;
-+ void *next = NULL;
-+ uint64_t start, length;
-+ char *target_type = NULL;
-+ char *params;
-+
-+
-+ buf[0] = '\0';
-+
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, "%s", target_type);
-+ dest += written;
-+ remains -= written;
-+
-+ while (remains > 0 && next) {
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, ",%s", target_type);
-+ dest += written;
-+ remains -= written;
-+ }
-+ }
-+ }
-+
-+ buf[sizeof(buf)-1] = '\0';
-+
-+ return dm_report_field_string(rh, field, &s);
-+}
-+
- static int _dm_info_devno_disp(struct dm_report *rh, struct dm_pool *mem,
- struct dm_report_field *field, const void *data,
- void *private)
-@@ -1925,6 +2002,7 @@
- { DR_INFO, "Mapped Device Information", "", _info_get_obj },
- { DR_DEPS, "Mapped Device Relationship Information", "", _deps_get_obj },
- { DR_TREE, "Mapped Device Relationship Information", "", _tree_get_obj },
-+ { DR_TABLE, "Mapped Device Table", "", _task_get_obj },
- { 0, "", "", NULL },
- };
-
-@@ -1944,6 +2022,7 @@
- FIELD_F(TASK, NUM, "RAhead", 6, dm_read_ahead, "read_ahead", "Read ahead in sectors.")
-
- FIELD_F(INFO, STR, "Stat", 4, dm_info_status, "attr", "(L)ive, (I)nactive, (s)uspended, (r)ead-only, read-(w)rite.")
-+FIELD_F(INFO, STR, "State", 1, dm_info_cleartext_status, "status", "State as cleartext.")
- FIELD_F(INFO, STR, "Tables", 6, dm_info_table_loaded, "tables_loaded", "Which of the live and inactive table slots are filled.")
- FIELD_F(INFO, STR, "Suspended", 9, dm_info_suspended, "suspended", "Whether the device is suspended.")
- FIELD_F(INFO, STR, "Read-only", 9, dm_info_read_only, "readonly", "Whether the device is read-only or writeable.")
-@@ -1954,6 +2033,11 @@
- FIELD_O(INFO, dm_info, NUM, "Targ", target_count, 4, int32, "segments", "Number of segments in live table, if present.")
- FIELD_O(INFO, dm_info, NUM, "Event", event_nr, 6, uint32, "events", "Number of most recent event.")
-
-+FIELD_O(INFO, dm_info, NUM, "RO", read_only, 2, int, "read_only", "Read only.")
-+FIELD_O(INFO, dm_info, NUM, "Ex", exists, 2, int, "exists", "Exists.")
-+FIELD_O(INFO, dm_info, NUM, "Susp", suspended, 4, int, "suspended", "Suspended.")
-+FIELD_O(INFO, dm_info, NUM, "tab_live", live_table, 8, int, "table_live", "Live table.")
-+FIELD_O(INFO, dm_info, NUM, "tab_inact", inactive_table, 9, int, "table_inactive", "Inactive table.")
- FIELD_O(DEPS, dm_deps, NUM, "#Devs", count, 5, int32, "device_count", "Number of devices used by this one.")
- FIELD_F(TREE, STR, "DevNames", 8, dm_deps_names, "devs_used", "List of names of mapped devices used by this one.")
- FIELD_F(DEPS, STR, "DevNos", 6, dm_deps, "devnos_used", "List of device numbers of devices used by this one.")
-@@ -1961,6 +2045,7 @@
- FIELD_F(TREE, NUM, "#Refs", 5, dm_tree_parents_count, "device_ref_count", "Number of mapped devices referencing this one.")
- FIELD_F(TREE, STR, "RefNames", 8, dm_tree_parents_names, "names_using_dev", "List of names of mapped devices using this one.")
- FIELD_F(TREE, STR, "RefDevNos", 9, dm_tree_parents_devs, "devnos_using_dev", "List of device numbers of mapped devices using this one.")
-+FIELD_F(TABLE, STR, "Targettypes", 32, dm_info_target_types, "target_types", "Used target types.")
- {0, 0, 0, 0, "", "", NULL, NULL},
- /* *INDENT-ON* */
- };
-@@ -1971,13 +2056,15 @@
- #undef FIELD_F
-
- static const char *default_report_options = "name,major,minor,attr,open,segments,events,uuid";
-+static const char *default_export_options = "name,major,minor,status,read_only,exists,suspended,table_live,table_inactive,open,segments,events,uuid,target_types";
-
- static int _report_init(struct command *c)
- {
-- char *options = (char *) default_report_options;
-+ char *default_options = (char *) default_report_options;
-+ char *options;
- const char *keys = "";
- const char *separator = " ";
-- int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0;
-+ int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0, export = 0;
- int quoted = 1, columns_as_rows = 0;
- uint32_t flags = 0;
- size_t len = 0;
-@@ -2004,6 +2091,15 @@
- field_prefixes = 1;
- }
-
-+ if (_switches[EXPORT_ARG]) {
-+ default_options = (char *) default_export_options;
-+ separator = "\n";
-+ aligned = 0;
-+ headings = 0;
-+ export = 1;
-+ }
-+
-+ options = default_options;
- if (_switches[OPTIONS_ARG] && _string_args[OPTIONS_ARG]) {
- if (*_string_args[OPTIONS_ARG] != '+')
- options = _string_args[OPTIONS_ARG];
-@@ -2055,6 +2151,9 @@
- if (columns_as_rows)
- flags |= DM_REPORT_OUTPUT_COLUMNS_AS_ROWS;
-
-+ if (export)
-+ flags |= DM_REPORT_OUTPUT_EXPORT;
-+
- if (!(_report = dm_report_init(&_report_type,
- _report_types, _report_fields,
- options, separator, flags, keys, NULL)))
-@@ -2133,7 +2232,8 @@
- fprintf(out, "dmsetup [--version] [-v|--verbose [-v|--verbose ...]]\n"
- " [-r|--readonly] [--noopencount] [--nolockfs]\n"
- " [--readahead [+]<sectors>|auto|none]\n"
-- " [-c|-C|--columns] [-o <fields>] [-O|--sort <sort_fields>]\n"
-+ " [-c|-C|--columns] [-e|--export]\n"
-+ " [-o <fields>] [-O|--sort <sort_fields>]\n"
- " [--nameprefixes] [--noheadings] [--separator <separator>]\n\n");
- for (i = 0; _commands[i].name; i++)
- fprintf(out, "\t%s %s\n", _commands[i].name, _commands[i].help);
-@@ -2484,6 +2584,7 @@
- static struct option long_options[] = {
- {"readonly", 0, &ind, READ_ONLY},
- {"columns", 0, &ind, COLS_ARG},
-+ {"export", 0, &ind, EXPORT_ARG},
- {"exec", 1, &ind, EXEC_ARG},
- {"force", 0, &ind, FORCE_ARG},
- {"gid", 1, &ind, GID_ARG},
-@@ -2566,12 +2667,16 @@
-
- optarg = 0;
- optind = OPTIND_INIT;
-- while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCfGj:m:Mno:O:ru:Uv",
-+ while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCefGj:m:Mno:O:ru:Uv",
- long_options, NULL)) != -1) {
- if (c == ':' || c == '?')
- return 0;
- if (c == 'c' || c == 'C' || ind == COLS_ARG)
- _switches[COLS_ARG]++;
-+ if (c == 'e' || ind == EXPORT_ARG) {
-+ _switches[EXPORT_ARG]++;
-+ _switches[COLS_ARG]++;
-+ }
- if (c == 'f' || ind == FORCE_ARG)
- _switches[FORCE_ARG]++;
- if (c == 'r' || ind == READ_ONLY)
-diff -Nuar --exclude '*.rej' --exclude '*.orig' device-mapper.1.02.27.orig/lib/libdevmapper.h device-mapper.1.02.27/lib/libdevmapper.h
---- libdm/libdevmapper.h 2008-06-24 15:53:48.000000000 -0700
-+++ libdm/libdevmapper.h 2008-06-28 01:54:55.588111461 -0700
-@@ -742,6 +742,7 @@
- #define DM_REPORT_OUTPUT_FIELD_NAME_PREFIX 0x00000008
- #define DM_REPORT_OUTPUT_FIELD_UNQUOTED 0x00000010
- #define DM_REPORT_OUTPUT_COLUMNS_AS_ROWS 0x00000020
-+#define DM_REPORT_OUTPUT_EXPORT 0x00000040
-
- struct dm_report *dm_report_init(uint32_t *report_types,
- const struct dm_report_object_type *types,
-diff -Nuar --exclude '*.rej' --exclude '*.orig' device-mapper.1.02.27.orig/lib/libdm-report.c device-mapper.1.02.27/lib/libdm-report.c
---- libdm/libdm-report.c 2008-06-24 17:10:36.000000000 -0700
-+++ libdm/libdm-report.c 2008-06-28 01:56:39.778466634 -0700
-@@ -808,6 +809,8 @@
- uint32_t align;
- const char *repstr;
- char buf[4096];
-+ const char *fname;
-+ char tmp_char;
-
- if (rh->flags & DM_REPORT_OUTPUT_FIELD_NAME_PREFIX) {
- if (!(field_id = strdup(rh->fields[field->props->field_num].id))) {
-@@ -838,6 +841,25 @@
- return 0;
- }
- }
-+ if (rh->flags & DM_REPORT_OUTPUT_EXPORT) {
-+ fname = rh->fields[field->props->field_num].id;
-+ if (!dm_pool_grow_object(rh->mem, "DM_", strlen("DM_"))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ while (fname && fname[0]) {
-+ tmp_char = toupper(fname[0]);
-+ if (!dm_pool_grow_object(rh->mem, &tmp_char, 1)) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ fname++;
-+ }
-+ if (!dm_pool_grow_object(rh->mem, "=", strlen("="))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ }
-
- repstr = field->report_string;
- width = field->props->width;
diff --git a/sys-fs/lvm2/files/lvm2-2.02.45-dmeventd.patch b/sys-fs/lvm2/files/lvm2-2.02.45-dmeventd.patch
deleted file mode 100644
index f8b5dadc3152..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.45-dmeventd.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- daemons/dmeventd/Makefile.in 2009-03-22 04:01:26.754802410 -0400
-+++ daemons/dmeventd/Makefile.in.new 2009-03-22 04:01:14.693689634 -0400
-@@ -42,7 +42,7 @@
- LDFLAGS += -ldl -ldevmapper -lpthread
- CLDFLAGS += -ldl -ldevmapper -lpthread
-
--dmeventd: $(LIB_SHARED) $(VERSIONED_SHLIB) dmeventd.o
-+dmeventd: $(LIB_SHARED) $(LIB_STATIC) $(VERSIONED_SHLIB) dmeventd.o
- $(CC) -o $@ dmeventd.o $(CFLAGS) $(LDFLAGS) \
- -L. -ldevmapper-event $(LIBS) -rdynamic
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.48-as-needed.patch b/sys-fs/lvm2/files/lvm2-2.02.48-as-needed.patch
deleted file mode 100644
index 2089beb72da8..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.48-as-needed.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-Compile-fix with --as-needed.
-
-To ensure correct output when --as-needed are in the linker flags, the order of
-flags to the linker (directly or via the compiler) must explictly only include
-libraries and objects AFTER all compiler flags, linker flags and linker
-directory arguments.
-
-X-Gentoo-Bug: #217644
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-Signed-off-by: Christian Ruppert (idl0r) <idl0r@gentoo.org>
-
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/daemons/clogd/Makefile LVM2.2.02.48/daemons/clogd/Makefile
---- LVM2.2.02.48.orig/daemons/clogd/Makefile 2009-01-08 09:12:33.000000000 -0800
-+++ LVM2.2.02.48/daemons/clogd/Makefile 2009-07-05 14:33:03.799446085 -0700
-@@ -45,12 +45,12 @@ LDFLAGS += $(shell if [ -e /usr/lib64/op
- else \
- echo '-L/usr/lib/openais -L/usr/lib'; \
- fi)
--LDFLAGS += -lcpg -lSaCkpt -lext2fs
-+LIBS += -lcpg -lSaCkpt -lext2fs
-
- all: ${TARGET}
-
- clogd: ${SOURCES}
-- ${CC} ${CFLAGS} -o $@ $^ ${LDFLAGS}
-+ ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $^
-
- no_clogd_kernel_headers:
- echo "Unable to find clogd kernel headers"
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/daemons/clvmd/Makefile.in LVM2.2.02.48/daemons/clvmd/Makefile.in
---- LVM2.2.02.48.orig/daemons/clvmd/Makefile.in 2009-03-10 05:10:12.000000000 -0700
-+++ LVM2.2.02.48/daemons/clvmd/Makefile.in 2009-07-05 14:41:22.633723993 -0700
-@@ -101,7 +101,7 @@ INSTALL_TARGETS = \
- install_clvmd
-
- clvmd: $(OBJECTS) $(top_srcdir)/lib/liblvm-internal.a
-- $(CC) -o clvmd $(OBJECTS) $(CFLAGS) $(LDFLAGS) \
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o clvmd $(OBJECTS) \
- $(LVMLIBS) $(LMLIBS) $(LIBS)
-
- .PHONY: install_clvmd
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/daemons/dmeventd/Makefile.in LVM2.2.02.48/daemons/dmeventd/Makefile.in
---- LVM2.2.02.48.orig/daemons/dmeventd/Makefile.in 2009-07-05 14:32:41.000000000 -0700
-+++ LVM2.2.02.48/daemons/dmeventd/Makefile.in 2009-07-05 14:40:43.094941107 -0700
-@@ -41,12 +41,12 @@ include $(top_srcdir)/make.tmpl
- all: dmeventd
- device-mapper: dmeventd $(LIB_STATIC)
-
--LDFLAGS += -ldl -ldevmapper -lpthread
--CLDFLAGS += -ldl -ldevmapper -lpthread
-+LIBS += -ldl -ldevmapper -lpthread
-
- dmeventd: $(LIB_SHARED) $(LIB_STATIC) $(VERSIONED_SHLIB) dmeventd.o
-- $(CC) -o $@ dmeventd.o $(CFLAGS) $(LDFLAGS) \
-- -L. -ldevmapper-event $(LIBS) -rdynamic
-+ $(CC) $(CFLAGS) $(LDFLAGS) -L. \
-+ -o $@ dmeventd.o \
-+ -ldevmapper-event $(LIBS) -rdynamic
-
- .PHONY: install_dynamic install_static install_include \
- install_pkgconfig install_dmeventd
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/daemons/dmeventd/plugins/mirror/Makefile.in LVM2.2.02.48/daemons/dmeventd/plugins/mirror/Makefile.in
---- LVM2.2.02.48.orig/daemons/dmeventd/plugins/mirror/Makefile.in 2009-05-11 03:28:46.000000000 -0700
-+++ LVM2.2.02.48/daemons/dmeventd/plugins/mirror/Makefile.in 2009-07-05 14:33:03.801620744 -0700
-@@ -17,7 +17,8 @@ top_srcdir = @top_srcdir@
- VPATH = @srcdir@
-
- INCLUDES += -I${top_srcdir}/tools
--CLDFLAGS += -L${top_srcdir}/tools -ldevmapper @LVM2CMD_LIB@
-+CLDFLAGS += -L${top_srcdir}/tools
-+LIBS += -ldevmapper -lpthread @LVM2CMD_LIB@
-
- SOURCES = dmeventd_mirror.c
-
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/daemons/dmeventd/plugins/snapshot/Makefile.in LVM2.2.02.48/daemons/dmeventd/plugins/snapshot/Makefile.in
---- LVM2.2.02.48.orig/daemons/dmeventd/plugins/snapshot/Makefile.in 2009-05-11 03:28:46.000000000 -0700
-+++ LVM2.2.02.48/daemons/dmeventd/plugins/snapshot/Makefile.in 2009-07-05 14:33:03.801620744 -0700
-@@ -17,7 +17,8 @@ top_srcdir = @top_srcdir@
- VPATH = @srcdir@
-
- INCLUDES += -I${top_srcdir}/tools
--CLDFLAGS += -L${top_srcdir}/tools -ldevmapper @LVM2CMD_LIB@
-+CLDFLAGS += -L${top_srcdir}/tools
-+LIBS += -lpthread -ldevmapper @LVM2CMD_LIB@
-
- SOURCES = dmeventd_snapshot.c
-
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/lib/Makefile.in LVM2.2.02.48/lib/Makefile.in
---- LVM2.2.02.48.orig/lib/Makefile.in 2009-07-17 11:16:40.572301218 +0200
-+++ LVM2.2.02.48/lib/Makefile.in 2009-07-17 11:17:55.035551029 +0200
-@@ -137,7 +137,8 @@ ifeq ("@HAVE_LIBDL@", "yes")
- endif
-
- ifeq ("@DMEVENTD@", "yes")
-- CLDFLAGS += -ldevmapper-event
-+ CLDFLAGS += -L../daemons/dmeventd
-+ LIBS += -ldevmapper-event
- endif
-
- LIB_NAME = liblvm-internal
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/make.tmpl.in LVM2.2.02.48/make.tmpl.in
---- LVM2.2.02.48.orig/make.tmpl.in 2009-05-11 03:28:45.000000000 -0700
-+++ LVM2.2.02.48/make.tmpl.in 2009-07-05 14:33:03.801620744 -0700
-@@ -28,7 +28,7 @@ GENHTML = @GENHTML@
- LN_S = @LN_S@
- SED = @SED@
-
--LIBS = @LIBS@
-+LIBS += @LIBS@ $(LVMLIBS) $(LMLIBS)
- DEFS += @DEFS@
- CFLAGS += @CFLAGS@
- CLDFLAGS += @CLDFLAGS@
-@@ -203,19 +203,19 @@ $(TARGETS): $(OBJECTS)
- ifeq ("@LIB_SUFFIX@","so")
- $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
- $(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
- endif
-
- ifeq ("@LIB_SUFFIX@","dylib")
- $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
- $(CC) -dynamiclib -dylib_current_version,$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
- endif
-
- %.so: %.a
- $(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(LIBS) -o $@ \
-- @CLDWHOLEARCHIVE@ $< @CLDNOWHOLEARCHIVE@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) -o $@ \
-+ @CLDWHOLEARCHIVE@ $< @CLDNOWHOLEARCHIVE@ $(LIBS)
-
- $(LIB_STATIC): $(OBJECTS)
- $(RM) $@
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/test/api/Makefile.in LVM2.2.02.48/test/api/Makefile.in
---- LVM2.2.02.48.orig/test/api/Makefile.in 2009-05-22 07:45:00.000000000 -0700
-+++ LVM2.2.02.48/test/api/Makefile.in 2009-07-05 14:39:19.353146953 -0700
-@@ -36,5 +36,5 @@ LDFLAGS = -L$(top_srcdir)/libdm -L$(top_
- CLDFLAGS = -L$(top_srcdir)/libdm -L$(top_srcdir)/liblvm
-
- test: $(OBJECTS) $(top_srcdir)/liblvm/liblvm2app.so $(top_srcdir)/libdm/libdevmapper.so
-- $(CC) -o test $(OBJECTS) $(CFLAGS) $(LDFLAGS) $(LVMLIBS) $(LIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o test $(OBJECTS) $(LVMLIBS) $(LIBS)
-
-diff -Nuarp --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/tools/Makefile.in LVM2.2.02.48/tools/Makefile.in
---- LVM2.2.02.48.orig/tools/Makefile.in 2009-07-17 11:16:40.579301663 +0200
-+++ LVM2.2.02.48/tools/Makefile.in 2009-07-21 19:27:05.526972872 +0200
-@@ -106,24 +106,29 @@ include $(top_srcdir)/make.tmpl
- device-mapper: $(TARGETS_DM)
-
- dmsetup: dmsetup.o $(top_srcdir)/libdm/libdevmapper.$(LIB_SUFFIX)
-- $(CC) -o $@ dmsetup.o $(CFLAGS) $(LDFLAGS) \
-- -L$(top_srcdir)/libdm -ldevmapper $(LIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) \
-+ -L$(top_srcdir)/libdm \
-+ -o $@ dmsetup.o \
-+ -ldevmapper $(LIB_PTHREAD)
-
- dmsetup.static: dmsetup.o $(interfacedir)/libdevmapper.a
-- $(CC) -o $@ dmsetup.o $(CFLAGS) $(LDFLAGS) -static \
-- -L$(interfacedir) -ldevmapper $(LIBS) \
-- $(LIB_PTHREAD)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -static \
-+ -L$(interfacedir) \
-+ -o $@ dmsetup.o \
-+ -ldevmapper $(LIB_PTHREAD)
-
- all: device-mapper
-
- lvm: $(OBJECTS) lvm.o $(top_srcdir)/lib/liblvm-internal.a
-- $(CC) -o $@ $(CFLAGS) $(OBJECTS) lvm.o \
-- $(LDFLAGS) $(LVMLIBS) $(LIBS) -rdynamic
-+ $(CC) $(CFLAGS) $(LDFLAGS) \
-+ -o $@ $(OBJECTS) lvm.o \
-+ $(LVMLIBS) $(LIBS) -rdynamic
-
- LIB_PTHREAD = @LIB_PTHREAD@
- lvm.static: $(OBJECTS) lvm-static.o $(top_srcdir)/lib/liblvm-internal.a $(interfacedir)/libdevmapper.a
-- $(CC) -o $@ $(CFLAGS) $(OBJECTS) lvm-static.o -static \
-- -L$(interfacedir) $(LDFLAGS) $(LVMLIBS) $(LIBS) $(LIB_PTHREAD) -rdynamic
-+ $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacedir) \
-+ -o $@ $(OBJECTS) lvm-static.o \
-+ $(LVMLIBS) $(LIBS) $(LIB_PTHREAD) -rdynamic
-
- liblvm2cmd.a: $(top_srcdir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
- cat $(top_srcdir)/lib/liblvm-internal.a > $@ \ No newline at end of file
diff --git a/sys-fs/lvm2/files/lvm2-2.02.48-device-mapper-export-format.patch b/sys-fs/lvm2/files/lvm2-2.02.48-device-mapper-export-format.patch
deleted file mode 100644
index 6e73d414802a..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.48-device-mapper-export-format.patch
+++ /dev/null
@@ -1,306 +0,0 @@
-Add support for exporting the device-mapper table to userspace.
-
-Original patch written by Matthias Schwarzott <zzam@gentoo.org>, in response to
-Gentoo bug #189404.
-
-This makes it possible to have udev rules based on the properties of the
-device-mapper node, such as target types, suspended status etc.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-
-diff -Nuar --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/libdm/libdevmapper.h LVM2.2.02.48/libdm/libdevmapper.h
---- LVM2.2.02.48.orig/libdm/libdevmapper.h 2009-06-17 13:55:24.000000000 -0700
-+++ LVM2.2.02.48/libdm/libdevmapper.h 2009-07-05 14:16:14.331690820 -0700
-@@ -953,6 +953,7 @@
- #define DM_REPORT_OUTPUT_FIELD_NAME_PREFIX 0x00000008
- #define DM_REPORT_OUTPUT_FIELD_UNQUOTED 0x00000010
- #define DM_REPORT_OUTPUT_COLUMNS_AS_ROWS 0x00000020
-+#define DM_REPORT_OUTPUT_EXPORT 0x00000040
-
- struct dm_report *dm_report_init(uint32_t *report_types,
- const struct dm_report_object_type *types,
-diff -Nuar --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/libdm/libdm-report.c LVM2.2.02.48/libdm/libdm-report.c
---- LVM2.2.02.48.orig/libdm/libdm-report.c 2009-02-09 01:45:49.000000000 -0800
-+++ LVM2.2.02.48/libdm/libdm-report.c 2009-07-05 14:16:14.331690820 -0700
-@@ -891,6 +891,8 @@
- uint32_t align;
- const char *repstr;
- char buf[4096];
-+ const char *fname;
-+ char tmp_char;
-
- if (rh->flags & DM_REPORT_OUTPUT_FIELD_NAME_PREFIX) {
- if (!(field_id = strdup(rh->fields[field->props->field_num].id))) {
-@@ -921,6 +923,25 @@
- return 0;
- }
- }
-+ if (rh->flags & DM_REPORT_OUTPUT_EXPORT) {
-+ fname = rh->fields[field->props->field_num].id;
-+ if (!dm_pool_grow_object(rh->mem, "DM_", strlen("DM_"))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ while (fname && fname[0]) {
-+ tmp_char = toupper(fname[0]);
-+ if (!dm_pool_grow_object(rh->mem, &tmp_char, 1)) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ fname++;
-+ }
-+ if (!dm_pool_grow_object(rh->mem, "=", strlen("="))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ }
-
- repstr = field->report_string;
- width = field->props->width;
-diff -Nuar --exclude '*.rej' --exclude '*.orig' LVM2.2.02.48.orig/tools/dmsetup.c LVM2.2.02.48/tools/dmsetup.c
---- LVM2.2.02.48.orig/tools/dmsetup.c 2009-06-03 13:44:49.000000000 -0700
-+++ LVM2.2.02.48/tools/dmsetup.c 2009-07-05 14:22:41.972149507 -0700
-@@ -107,6 +107,7 @@
- enum {
- READ_ONLY = 0,
- COLS_ARG,
-+ EXPORT_ARG,
- EXEC_ARG,
- FORCE_ARG,
- GID_ARG,
-@@ -142,7 +143,8 @@
- DR_INFO = 2,
- DR_DEPS = 4,
- DR_TREE = 8, /* Complete dependency tree required */
-- DR_NAME = 16
-+ DR_NAME = 16,
-+ DR_TABLE = 0x20, /* table is required, not just info */
- } report_type_t;
-
- static int _switches[NUM_SWITCHES];
-@@ -1217,8 +1219,13 @@
- name = argv[1];
- }
-
-- if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-- return 0;
-+ if (_report_type & DR_TABLE ) {
-+ if (!(dmt = dm_task_create(DM_DEVICE_TABLE)))
-+ return 0;
-+ } else {
-+ if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-+ return 0;
-+ }
-
- if (!_set_task_device(dmt, name, 0))
- goto out;
-@@ -1682,6 +1689,16 @@
- return dm_report_field_uint32(rh, field, &value);
- }
-
-+static int _int_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const int value = *(const int *)data;
-+
-+ return dm_report_field_int(rh, field, &value);
-+}
-+
- static int _dm_name_disp(struct dm_report *rh,
- struct dm_pool *mem __attribute((unused)),
- struct dm_report_field *field, const void *data,
-@@ -1793,6 +1810,66 @@
- }
-
-
-+static int _dm_info_cleartext_status_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const char *buf = "NOTPRESENT";
-+ const struct dm_info *info = data;
-+
-+ if (info->exists) {
-+ if (info->suspended)
-+ buf = "SUSPENDED";
-+ else
-+ buf = info->read_only ? " READONLY" : "ACTIVE";
-+ }
-+
-+ return dm_report_field_string(rh, field, &buf);
-+}
-+
-+static int _dm_info_target_types_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ char buf[1024];
-+ char *dest = buf;
-+ int remains = sizeof(buf);
-+ int written;
-+ const char *s = buf;
-+ struct dm_task *dmt = (struct dm_task *) data;
-+ void *next = NULL;
-+ uint64_t start, length;
-+ char *target_type = NULL;
-+ char *params;
-+
-+
-+ buf[0] = '\0';
-+
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, "%s", target_type);
-+ dest += written;
-+ remains -= written;
-+
-+ while (remains > 0 && next) {
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, ",%s", target_type);
-+ dest += written;
-+ remains -= written;
-+ }
-+ }
-+ }
-+
-+ buf[sizeof(buf)-1] = '\0';
-+
-+ return dm_report_field_string(rh, field, &s);
-+}
-+
- static int _dm_info_devno_disp(struct dm_report *rh, struct dm_pool *mem,
- struct dm_report_field *field, const void *data,
- void *private)
-@@ -2057,6 +2134,7 @@
- { DR_DEPS, "Mapped Device Relationship Information", "", _deps_get_obj },
- { DR_TREE, "Mapped Device Relationship Information", "", _tree_get_obj },
- { DR_NAME, "Mapped Device Name Components", "", _split_name_get_obj },
-+ { DR_TABLE, "Mapped Device Table", "", _task_get_obj },
- { 0, "", "", NULL },
- };
-
-@@ -2076,6 +2154,7 @@
- FIELD_F(TASK, NUM, "RAhead", 6, dm_read_ahead, "read_ahead", "Read ahead in sectors.")
-
- FIELD_F(INFO, STR, "Stat", 4, dm_info_status, "attr", "(L)ive, (I)nactive, (s)uspended, (r)ead-only, read-(w)rite.")
-+FIELD_F(INFO, STR, "State", 1, dm_info_cleartext_status, "status", "State as cleartext.")
- FIELD_F(INFO, STR, "Tables", 6, dm_info_table_loaded, "tables_loaded", "Which of the live and inactive table slots are filled.")
- FIELD_F(INFO, STR, "Suspended", 9, dm_info_suspended, "suspended", "Whether the device is suspended.")
- FIELD_F(INFO, STR, "Read-only", 9, dm_info_read_only, "readonly", "Whether the device is read-only or writeable.")
-@@ -2086,6 +2165,11 @@
- FIELD_O(INFO, dm_info, NUM, "Targ", target_count, 4, int32, "segments", "Number of segments in live table, if present.")
- FIELD_O(INFO, dm_info, NUM, "Event", event_nr, 6, uint32, "events", "Number of most recent event.")
-
-+FIELD_O(INFO, dm_info, NUM, "RO", read_only, 2, int, "read_only", "Read only.")
-+FIELD_O(INFO, dm_info, NUM, "Ex", exists, 2, int, "exists", "Exists.")
-+FIELD_O(INFO, dm_info, NUM, "Susp", suspended, 4, int, "suspended", "Suspended.")
-+FIELD_O(INFO, dm_info, NUM, "tab_live", live_table, 8, int, "table_live", "Live table.")
-+FIELD_O(INFO, dm_info, NUM, "tab_inact", inactive_table, 9, int, "table_inactive", "Inactive table.")
- FIELD_O(DEPS, dm_deps, NUM, "#Devs", count, 5, int32, "device_count", "Number of devices used by this one.")
- FIELD_F(TREE, STR, "DevNames", 8, dm_deps_names, "devs_used", "List of names of mapped devices used by this one.")
- FIELD_F(DEPS, STR, "DevNos", 6, dm_deps, "devnos_used", "List of device numbers of devices used by this one.")
-@@ -2093,6 +2177,7 @@
- FIELD_F(TREE, NUM, "#Refs", 5, dm_tree_parents_count, "device_ref_count", "Number of mapped devices referencing this one.")
- FIELD_F(TREE, STR, "RefNames", 8, dm_tree_parents_names, "names_using_dev", "List of names of mapped devices using this one.")
- FIELD_F(TREE, STR, "RefDevNos", 9, dm_tree_parents_devs, "devnos_using_dev", "List of device numbers of mapped devices using this one.")
-+FIELD_F(TABLE, STR, "Targettypes", 32, dm_info_target_types, "target_types", "Used target types.")
-
- FIELD_O(NAME, dm_split_name, STR, "Subsys", subsystem, 6, dm_subsystem, "subsystem", "Userspace subsystem responsible for this device.")
- FIELD_O(NAME, dm_split_name, STR, "VG", vg_name, 4, dm_vg_name, "vg_name", "LVM Volume Group name.")
-@@ -2109,14 +2194,16 @@
- #undef FIELD_F
-
- static const char *default_report_options = "name,major,minor,attr,open,segments,events,uuid";
-+static const char *default_export_options = "name,major,minor,status,read_only,exists,suspended,table_live,table_inactive,open,segments,events,uuid,target_types";
- static const char *splitname_report_options = "vg_name,lv_name,lv_layer";
-
- static int _report_init(struct command *c)
- {
-- char *options = (char *) default_report_options;
-+ char *default_options = (char *) default_report_options;
-+ char *options;
- const char *keys = "";
- const char *separator = " ";
-- int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0;
-+ int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0, export = 0;
- int quoted = 1, columns_as_rows = 0;
- uint32_t flags = 0;
- size_t len = 0;
-@@ -2146,6 +2233,15 @@
- field_prefixes = 1;
- }
-
-+ if (_switches[EXPORT_ARG]) {
-+ default_options = (char *) default_export_options;
-+ separator = "\n";
-+ aligned = 0;
-+ headings = 0;
-+ export = 1;
-+ }
-+
-+ options = default_options;
- if (_switches[OPTIONS_ARG] && _string_args[OPTIONS_ARG]) {
- if (*_string_args[OPTIONS_ARG] != '+')
- options = _string_args[OPTIONS_ARG];
-@@ -2197,6 +2293,9 @@
- if (columns_as_rows)
- flags |= DM_REPORT_OUTPUT_COLUMNS_AS_ROWS;
-
-+ if (export)
-+ flags |= DM_REPORT_OUTPUT_EXPORT;
-+
- if (!(_report = dm_report_init(&_report_type,
- _report_types, _report_fields,
- options, separator, flags, keys, NULL)))
-@@ -2276,7 +2375,8 @@
- fprintf(out, "dmsetup [--version] [-v|--verbose [-v|--verbose ...]]\n"
- " [-r|--readonly] [--noopencount] [--nolockfs]\n"
- " [--readahead [+]<sectors>|auto|none]\n"
-- " [-c|-C|--columns] [-o <fields>] [-O|--sort <sort_fields>]\n"
-+ " [-c|-C|--columns] [-e|--export]\n"
-+ " [-o <fields>] [-O|--sort <sort_fields>]\n"
- " [--nameprefixes] [--noheadings] [--separator <separator>]\n\n");
- for (i = 0; _commands[i].name; i++)
- fprintf(out, "\t%s %s\n", _commands[i].name, _commands[i].help);
-@@ -2532,7 +2632,7 @@
- show_all++;
- if (c == 'd')
- delete++;
-- if (c == 'e')
-+ if (c == 'E')
- encrypt_loop++;
- if (c == 'f')
- find++;
-@@ -2627,6 +2727,7 @@
- static struct option long_options[] = {
- {"readonly", 0, &ind, READ_ONLY},
- {"columns", 0, &ind, COLS_ARG},
-+ {"export", 0, &ind, EXPORT_ARG},
- {"exec", 1, &ind, EXEC_ARG},
- {"force", 0, &ind, FORCE_ARG},
- {"gid", 1, &ind, GID_ARG},
-@@ -2709,12 +2810,16 @@
-
- optarg = 0;
- optind = OPTIND_INIT;
-- while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCfG:j:m:M:no:O:ru:U:v",
-+ while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCefG:j:m:M:no:O:ru:U:v",
- long_options, NULL)) != -1) {
- if (c == ':' || c == '?')
- return 0;
- if (c == 'c' || c == 'C' || ind == COLS_ARG)
- _switches[COLS_ARG]++;
-+ if (c == 'e' || ind == EXPORT_ARG) {
-+ _switches[EXPORT_ARG]++;
-+ _switches[COLS_ARG]++;
-+ }
- if (c == 'f' || ind == FORCE_ARG)
- _switches[FORCE_ARG]++;
- if (c == 'r' || ind == READ_ONLY)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.48-fix-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.48-fix-pkgconfig.patch
deleted file mode 100644
index 10d923b835b9..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.48-fix-pkgconfig.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-libdevmapper.so doesn't link to SELinux libraries unless SELinux is enabled.
-Adding those libraries to Libs.private unconditionally is wrong.
-
-See bug 270350
----
---- LVM2.2.02.48/configure.in
-+++ LVM2.2.02.48/configure.in
-@@ -558,18 +558,19 @@
- if test x$HAVE_SEPOL = xyes; then
- AC_DEFINE([HAVE_SEPOL], 1,
- [Define to 1 if sepol_check_context is available.])
-- LIBS="-lsepol $LIBS"
-+ SELINUX_LIBS="-lsepol $SELINUX_LIBS"
- fi
-
- AC_CHECK_LIB(selinux, is_selinux_enabled, HAVE_SELINUX=yes, HAVE_SELINUX=no)
-
- if test x$HAVE_SELINUX = xyes; then
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- LIBS="-lselinux $LIBS"
-+ SELINUX_LIBS="-lselinux $SELINUX_LIBS"
- else
- AC_MSG_WARN(Disabling selinux)
- fi
-
-+ LIBS="$SELINUX_LIBS $LIBS"
- # With --enable-static_link and selinux enabled, linking
- # fails on at least Debian unstable due to unsatisfied references
- # to pthread_mutex_lock and _unlock. See if we need -lpthread.
-@@ -813,6 +814,7 @@
- AC_SUBST(POOL)
- AC_SUBST(QUORUM_CFLAGS)
- AC_SUBST(QUORUM_LIBS)
-+AC_SUBST(SELINUX_LIBS)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
- AC_SUBST(STATIC_LINK)
---- LVM2.2.02.48/libdm/libdevmapper.pc.in
-+++ LVM2.2.02.48/libdm/libdevmapper.pc.in
-@@ -8,4 +8,4 @@
- Version: @DM_LIB_PATCHLEVEL@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
--Libs.private: -lselinux -lsepol
-+Libs.private: @SELINUX_LIBS@
diff --git a/sys-fs/lvm2/files/lvm2-2.02.49-lockdir-override.patch b/sys-fs/lvm2/files/lvm2-2.02.49-lockdir-override.patch
deleted file mode 100644
index 12fc06563548..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.49-lockdir-override.patch
+++ /dev/null
@@ -1,386 +0,0 @@
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/lib/locking/file_locking.c LVM2.2.02.49/lib/locking/file_locking.c
---- LVM2.2.02.49.orig/lib/locking/file_locking.c 2008-11-12 01:30:52.000000000 -0800
-+++ LVM2.2.02.49/lib/locking/file_locking.c 2009-07-23 17:39:10.021993262 -0700
-@@ -271,17 +271,22 @@ static int _file_lock_resource(struct cm
- return 1;
- }
-
--int init_file_locking(struct locking_type *locking, struct cmd_context *cmd)
-+int init_file_locking(struct locking_type *locking, struct cmd_context *cmd, const char *lock_dir)
- {
- locking->lock_resource = _file_lock_resource;
- locking->reset_locking = _reset_file_locking;
- locking->fin_locking = _fin_file_locking;
- locking->flags = 0;
-
-- /* Get lockfile directory from config file */
-- strncpy(_lock_dir, find_config_tree_str(cmd, "global/locking_dir",
-- DEFAULT_LOCK_DIR),
-- sizeof(_lock_dir));
-+ if(lock_dir) {
-+ /* Get lockfile directory from commandline */
-+ strncpy(_lock_dir, lock_dir, sizeof(_lock_dir));
-+ } else {
-+ /* Get lockfile directory from config file */
-+ strncpy(_lock_dir, find_config_tree_str(cmd, "global/locking_dir",
-+ DEFAULT_LOCK_DIR),
-+ sizeof(_lock_dir));
-+ }
-
- if (!dm_create_dir(_lock_dir))
- return 0;
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/lib/locking/locking.c LVM2.2.02.49/lib/locking/locking.c
---- LVM2.2.02.49.orig/lib/locking/locking.c 2009-07-14 22:49:47.000000000 -0700
-+++ LVM2.2.02.49/lib/locking/locking.c 2009-07-23 17:32:53.558509986 -0700
-@@ -213,7 +213,7 @@ static void _update_vg_lock_count(const
- * Select a locking type
- * type: locking type; if < 0, then read config tree value
- */
--int init_locking(int type, struct cmd_context *cmd)
-+int init_locking(int type, struct cmd_context *cmd, const char *lock_dir)
- {
- if (type < 0)
- type = find_config_tree_int(cmd, "global/locking_type", 1);
-@@ -228,7 +228,7 @@ int init_locking(int type, struct cmd_co
-
- case 1:
- log_very_verbose("File-based locking selected.");
-- if (!init_file_locking(&_locking, cmd))
-+ if (!init_file_locking(&_locking, cmd, lock_dir))
- break;
- return 1;
-
-@@ -268,7 +268,7 @@ int init_locking(int type, struct cmd_co
- log_warn("WARNING: Falling back to local file-based locking.");
- log_warn("Volume Groups with the clustered attribute will "
- "be inaccessible.");
-- if (init_file_locking(&_locking, cmd))
-+ if (init_file_locking(&_locking, cmd, lock_dir))
- return 1;
- }
-
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/lib/locking/locking.h LVM2.2.02.49/lib/locking/locking.h
---- LVM2.2.02.49.orig/lib/locking/locking.h 2009-06-12 01:30:19.000000000 -0700
-+++ LVM2.2.02.49/lib/locking/locking.h 2009-07-23 17:31:49.638555398 -0700
-@@ -19,7 +19,7 @@
- #include "uuid.h"
- #include "config.h"
-
--int init_locking(int type, struct cmd_context *cmd);
-+int init_locking(int type, struct cmd_context *cmd, const char *lock_dir);
- void fin_locking(void);
- void reset_locking(void);
- int vg_write_lock_held(void);
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/lib/locking/locking_types.h LVM2.2.02.49/lib/locking/locking_types.h
---- LVM2.2.02.49.orig/lib/locking/locking_types.h 2009-07-14 22:57:11.000000000 -0700
-+++ LVM2.2.02.49/lib/locking/locking_types.h 2009-07-23 17:37:58.598009804 -0700
-@@ -42,7 +42,7 @@ int init_no_locking(struct locking_type
-
- int init_readonly_locking(struct locking_type *locking, struct cmd_context *cmd);
-
--int init_file_locking(struct locking_type *locking, struct cmd_context *cmd);
-+int init_file_locking(struct locking_type *locking, struct cmd_context *cmd, const char *lock_dir);
-
- int init_external_locking(struct locking_type *locking, struct cmd_context *cmd);
-
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/liblvm/lvm_base.c LVM2.2.02.49/liblvm/lvm_base.c
---- LVM2.2.02.49.orig/liblvm/lvm_base.c 2009-07-13 20:01:18.000000000 -0700
-+++ LVM2.2.02.49/liblvm/lvm_base.c 2009-07-23 17:38:09.830509799 -0700
-@@ -39,7 +39,7 @@ lvm_t lvm_create(const char *system_dir)
-
- /* FIXME: locking_type config option needed? */
- /* initialize locking */
-- if (!init_locking(-1, cmd)) {
-+ if (!init_locking(-1, cmd, NULL)) {
- /* FIXME: use EAGAIN as error code here */
- log_error("Locking initialisation failed.");
- lvm_destroy((lvm_t) cmd);
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/tools/args.h LVM2.2.02.49/tools/args.h
---- LVM2.2.02.49.orig/tools/args.h 2009-06-04 05:01:16.000000000 -0700
-+++ LVM2.2.02.49/tools/args.h 2009-07-23 17:30:36.680664586 -0700
-@@ -22,6 +22,7 @@ arg(version_ARG, '\0', "version", NULL,
- arg(quiet_ARG, '\0', "quiet", NULL, 0)
- arg(physicalvolumesize_ARG, '\0', "setphysicalvolumesize", size_mb_arg, 0)
- arg(ignorelockingfailure_ARG, '\0', "ignorelockingfailure", NULL, 0)
-+arg(lock_dir_ARG, '\0', "lock-dir", string_arg, 0)
- arg(nolocking_ARG, '\0', "nolocking", NULL, 0)
- arg(metadatacopies_ARG, '\0', "metadatacopies", int_arg, 0)
- arg(metadatasize_ARG, '\0', "metadatasize", size_mb_arg, 0)
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/tools/commands.h LVM2.2.02.49/tools/commands.h
---- LVM2.2.02.49.orig/tools/commands.h 2009-07-06 12:13:26.000000000 -0700
-+++ LVM2.2.02.49/tools/commands.h 2009-07-23 17:30:36.680664586 -0700
-@@ -70,6 +70,7 @@ xx(lvchange,
- "\t[-f|--force]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--ignoremonitoring]\n"
- "\t[--monitor {y|n}]\n"
- "\t[-M|--persistent y|n] [--major major] [--minor minor]\n"
-@@ -85,7 +86,7 @@ xx(lvchange,
- "\tLogicalVolume[Path] [LogicalVolume[Path]...]\n",
-
- alloc_ARG, autobackup_ARG, available_ARG, contiguous_ARG, force_ARG,
-- ignorelockingfailure_ARG, ignoremonitoring_ARG, major_ARG, minor_ARG,
-+ ignorelockingfailure_ARG, lock_dir_ARG, ignoremonitoring_ARG, major_ARG, minor_ARG,
- monitor_ARG, partial_ARG, permission_ARG, persistent_ARG, readahead_ARG,
- resync_ARG, refresh_ARG, addtag_ARG, deltag_ARG, test_ARG, yes_ARG)
-
-@@ -185,6 +186,7 @@ xx(lvdisplay,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[-m|--maps]\n"
- "\t[--nosuffix]\n"
- "\t[-P|--partial] " "\n"
-@@ -199,6 +201,7 @@ xx(lvdisplay,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--noheadings]\n"
- "\t[--nosuffix]\n"
- "\t[-o|--options [+]Field[,Field]]\n"
-@@ -213,7 +216,7 @@ xx(lvdisplay,
- "\t[LogicalVolume[Path] [LogicalVolume[Path]...]]\n",
-
- aligned_ARG, all_ARG, colon_ARG, columns_ARG, disk_ARG,
-- ignorelockingfailure_ARG, maps_ARG, noheadings_ARG, nosuffix_ARG,
-+ ignorelockingfailure_ARG, lock_dir_ARG, maps_ARG, noheadings_ARG, nosuffix_ARG,
- options_ARG, sort_ARG, partial_ARG, segments_ARG, separator_ARG,
- unbuffered_ARG, units_ARG)
-
-@@ -373,6 +376,7 @@ xx(lvs,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--nameprefixes]\n"
- "\t[--noheadings]\n"
- "\t[--nosuffix]\n"
-@@ -390,7 +394,7 @@ xx(lvs,
- "\t[--version]" "\n"
- "\t[LogicalVolume[Path] [LogicalVolume[Path]...]]\n",
-
-- aligned_ARG, all_ARG, ignorelockingfailure_ARG, nameprefixes_ARG,
-+ aligned_ARG, all_ARG, ignorelockingfailure_ARG, lock_dir_ARG, nameprefixes_ARG,
- noheadings_ARG, nolocking_ARG, nosuffix_ARG, options_ARG, partial_ARG,
- rows_ARG, segments_ARG, separator_ARG, sort_ARG, trustcache_ARG,
- unbuffered_ARG, units_ARG, unquoted_ARG)
-@@ -404,11 +408,12 @@ xx(lvscan,
- "\t[-d|--debug] " "\n"
- "\t[-h|-?|--help] " "\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[-P|--partial] " "\n"
- "\t[-v|--verbose] " "\n"
- "\t[--version]\n",
-
-- all_ARG, blockdevice_ARG, disk_ARG, ignorelockingfailure_ARG, partial_ARG)
-+ all_ARG, blockdevice_ARG, disk_ARG, ignorelockingfailure_ARG, lock_dir_ARG, partial_ARG)
-
- xx(pvchange,
- "Change attributes of physical volume(s)",
-@@ -510,6 +515,7 @@ xx(pvdisplay,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[-m|--maps]\n"
- "\t[--nosuffix]\n"
- "\t[-s|--short]\n"
-@@ -524,6 +530,7 @@ xx(pvdisplay,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--noheadings]\n"
- "\t[--nosuffix]\n"
- "\t[-o|--options [+]Field[,Field]]\n"
-@@ -535,7 +542,7 @@ xx(pvdisplay,
- "\t[--version]" "\n"
- "\t[PhysicalVolumePath [PhysicalVolumePath...]]\n",
-
-- aligned_ARG, all_ARG, colon_ARG, columns_ARG, ignorelockingfailure_ARG,
-+ aligned_ARG, all_ARG, colon_ARG, columns_ARG, ignorelockingfailure_ARG, lock_dir_ARG,
- maps_ARG, noheadings_ARG, nosuffix_ARG, options_ARG, separator_ARG,
- short_ARG, sort_ARG, unbuffered_ARG, units_ARG)
-
-@@ -585,6 +592,7 @@ xx(pvs,
- "\t[-d|--debug]" "\n"
- "\t[-h|-?|--help] " "\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--nameprefixes]\n"
- "\t[--noheadings]\n"
- "\t[--nosuffix]\n"
-@@ -602,7 +610,7 @@ xx(pvs,
- "\t[--version]\n"
- "\t[PhysicalVolume [PhysicalVolume...]]\n",
-
-- aligned_ARG, all_ARG, ignorelockingfailure_ARG, nameprefixes_ARG,
-+ aligned_ARG, all_ARG, ignorelockingfailure_ARG, lock_dir_ARG, nameprefixes_ARG,
- noheadings_ARG, nolocking_ARG, nosuffix_ARG, options_ARG, partial_ARG,
- rows_ARG, segments_ARG, separator_ARG, sort_ARG, trustcache_ARG,
- unbuffered_ARG, units_ARG, unquoted_ARG)
-@@ -615,13 +623,14 @@ xx(pvscan,
- "\t{-e|--exported | -n|--novolumegroup} " "\n"
- "\t[-h|-?|--help]" "\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[-P|--partial] " "\n"
- "\t[-s|--short] " "\n"
- "\t[-u|--uuid] " "\n"
- "\t[-v|--verbose] " "\n"
- "\t[--version]\n",
-
-- exported_ARG, ignorelockingfailure_ARG, novolumegroup_ARG, partial_ARG,
-+ exported_ARG, ignorelockingfailure_ARG, lock_dir_ARG, novolumegroup_ARG, partial_ARG,
- short_ARG, uuid_ARG)
-
- xx(segtypes,
-@@ -637,12 +646,13 @@ xx(vgcfgbackup,
- "\t[-f|--file filename] " "\n"
- "\t[-h|-?|--help] " "\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[-P|--partial] " "\n"
- "\t[-v|--verbose]" "\n"
- "\t[--version] " "\n"
- "\t[VolumeGroupName...]\n",
-
-- file_ARG, ignorelockingfailure_ARG, partial_ARG)
-+ file_ARG, ignorelockingfailure_ARG, lock_dir_ARG, partial_ARG)
-
- xx(vgcfgrestore,
- "Restore volume group configuration",
-@@ -671,6 +681,7 @@ xx(vgchange,
- "\t[-d|--debug] " "\n"
- "\t[-h|--help] " "\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--ignoremonitoring]\n"
- "\t[--monitor {y|n}]\n"
- "\t[--refresh]\n"
-@@ -689,7 +700,7 @@ xx(vgchange,
- "\t[VolumeGroupName...]\n",
-
- addtag_ARG, alloc_ARG, allocation_ARG, autobackup_ARG, available_ARG,
-- clustered_ARG, deltag_ARG, ignorelockingfailure_ARG, ignoremonitoring_ARG,
-+ clustered_ARG, deltag_ARG, ignorelockingfailure_ARG, lock_dir_ARG, ignoremonitoring_ARG,
- logicalvolume_ARG, maxphysicalvolumes_ARG, monitor_ARG, partial_ARG,
- physicalextentsize_ARG, refresh_ARG, resizeable_ARG, resizable_ARG,
- test_ARG, uuid_ARG)
-@@ -752,6 +763,7 @@ xx(vgdisplay,
- "\t[-d|--debug] " "\n"
- "\t[-h|--help] " "\n"
- "\t[--ignorelockingfailure]" "\n"
-+ "\t[--lock-dir path]\n"
- "\t[--nosuffix]\n"
- "\t[-P|--partial] " "\n"
- "\t[--units hsbkmgtHKMGT]\n"
-@@ -764,6 +776,7 @@ xx(vgdisplay,
- "\t[-d|--debug] " "\n"
- "\t[-h|--help] " "\n"
- "\t[--ignorelockingfailure]" "\n"
-+ "\t[--lock-dir path]\n"
- "\t[--noheadings]\n"
- "\t[--nosuffix]\n"
- "\t[-o|--options [+]Field[,Field]]\n"
-@@ -777,7 +790,7 @@ xx(vgdisplay,
- "\t[VolumeGroupName [VolumeGroupName...]]\n",
-
- activevolumegroups_ARG, aligned_ARG, colon_ARG, columns_ARG, disk_ARG,
-- ignorelockingfailure_ARG, noheadings_ARG, nosuffix_ARG, options_ARG,
-+ ignorelockingfailure_ARG, lock_dir_ARG, noheadings_ARG, nosuffix_ARG, options_ARG,
- partial_ARG, short_ARG, separator_ARG, sort_ARG, unbuffered_ARG, units_ARG)
-
- xx(vgexport,
-@@ -844,12 +857,13 @@ xx(vgmknodes,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--refresh]\n"
- "\t[-v|--verbose]\n"
- "\t[--version]" "\n"
- "\t[VolumeGroupName...]\n",
-
-- ignorelockingfailure_ARG, refresh_ARG)
-+ ignorelockingfailure_ARG, lock_dir_ARG, refresh_ARG)
-
- xx(vgreduce,
- "Remove physical volume(s) from a volume group",
-@@ -909,6 +923,7 @@ xx(vgs,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--nameprefixes]\n"
- "\t[--noheadings]\n"
- "\t[--nosuffix]\n"
-@@ -925,7 +940,7 @@ xx(vgs,
- "\t[--version]\n"
- "\t[VolumeGroupName [VolumeGroupName...]]\n",
-
-- aligned_ARG, all_ARG, ignorelockingfailure_ARG, nameprefixes_ARG,
-+ aligned_ARG, all_ARG, ignorelockingfailure_ARG, lock_dir_ARG, nameprefixes_ARG,
- noheadings_ARG, nolocking_ARG, nosuffix_ARG, options_ARG, partial_ARG,
- rows_ARG, separator_ARG, sort_ARG, trustcache_ARG, unbuffered_ARG, units_ARG,
- unquoted_ARG)
-@@ -937,12 +952,13 @@ xx(vgscan,
- "\t[-d|--debug]\n"
- "\t[-h|--help]\n"
- "\t[--ignorelockingfailure]\n"
-+ "\t[--lock-dir path]\n"
- "\t[--mknodes]\n"
- "\t[-P|--partial] " "\n"
- "\t[-v|--verbose]\n"
- "\t[--version]" "\n",
-
-- ignorelockingfailure_ARG, mknodes_ARG, partial_ARG)
-+ ignorelockingfailure_ARG, lock_dir_ARG, mknodes_ARG, partial_ARG)
-
- xx(vgsplit,
- "Move physical volumes into a new or existing volume group",
-diff -Nuarp --exclude '*~' --exclude '*.[oda]' --exclude '*.so' --exclude '*.static' --exclude test --exclude '*.in' --exclude Makefile --exclude man --exclude '*.pc' --exclude autoconf --exclude '*.po' LVM2.2.02.49.orig/tools/lvmcmdline.c LVM2.2.02.49/tools/lvmcmdline.c
---- LVM2.2.02.49.orig/tools/lvmcmdline.c 2009-07-13 12:49:49.000000000 -0700
-+++ LVM2.2.02.49/tools/lvmcmdline.c 2009-07-23 17:37:30.774058849 -0700
-@@ -964,6 +964,7 @@ int lvm_run_command(struct cmd_context *
- {
- int ret = 0;
- int locking_type;
-+ const char *lock_dir;
-
- init_error_message_produced(0);
-
-@@ -1015,7 +1016,12 @@ int lvm_run_command(struct cmd_context *
- else
- locking_type = -1;
-
-- if (!init_locking(locking_type, cmd)) {
-+ if(arg_count(cmd, lock_dir_ARG)) {
-+ /* Get lockfile directory from commandline */
-+ lock_dir = arg_str_value(cmd, lock_dir_ARG, "");
-+ }
-+
-+ if (!init_locking(locking_type, cmd, lock_dir)) {
- log_error("Locking type %d initialisation failed.",
- locking_type);
- ret = ECMD_FAILED;
-diff -Nuarp LVM2.2.02.49.orig/man/lvm.8.in LVM2.2.02.49/man/lvm.8.in
---- LVM2.2.02.49.orig/man/lvm.8.in 2009-05-14 09:46:13.000000000 -0700
-+++ LVM2.2.02.49/man/lvm.8.in 2009-07-24 15:48:14.768492371 -0700
-@@ -202,6 +202,11 @@ This lets you proceed with read-only met
- One use for this is in a system init script if the lock directory
- is mounted read-only when the script runs.
- .TP
-+\fB--lock-dir\fP
-+This lets you override the directory used for lockfiles, as an alternative to
-+entirely overriding locking failures. One use for this is in a system init script
-+where parts of the system are still read-only.
-+.TP
- \fB--addtag tag\fP
- Add the tag \fBtag\fP to a PV, VG or LV.
- A tag is a word that can be used to group LVM2 objects of the same type
diff --git a/sys-fs/lvm2/files/lvm2-2.02.51-as-needed.patch b/sys-fs/lvm2/files/lvm2-2.02.51-as-needed.patch
deleted file mode 100644
index 371ef48b395d..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.51-as-needed.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-Compile-fix with --as-needed.
-
-To ensure correct output when --as-needed are in the linker flags, the order of
-flags to the linker (directly or via the compiler) must explictly only include
-libraries and objects AFTER all compiler flags, linker flags and linker
-directory arguments.
-
-X-Gentoo-Bug: #217644
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-Ported-from: lvm2-2.02.48-as-needed.patch
-
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/daemons/clogd/Makefile LVM2.2.02.51/daemons/clogd/Makefile
---- LVM2.2.02.51.orig/daemons/clogd/Makefile 2009-07-28 21:14:12.000000000 +0000
-+++ LVM2.2.02.51/daemons/clogd/Makefile 2009-08-27 00:09:53.215521890 +0000
-@@ -45,12 +45,12 @@
- else \
- echo '-L/usr/lib/openais -L/usr/lib -L/lib'; \
- fi)
--LDFLAGS += -lcpg -lSaCkpt -lext2fs -ldevmapper
-+LIBS += -lcpg -lSaCkpt -lext2fs -ldevmapper
-
- all: ${TARGET}
-
- clogd: ${SOURCES}
-- ${CC} ${CFLAGS} -o $@ $^ ${LDFLAGS}
-+ ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $^ ${LIBS}
-
- no_clogd_kernel_headers:
- echo "Unable to find clogd kernel headers"
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/daemons/clvmd/Makefile.in LVM2.2.02.51/daemons/clvmd/Makefile.in
---- LVM2.2.02.51.orig/daemons/clvmd/Makefile.in 2009-03-10 12:10:12.000000000 +0000
-+++ LVM2.2.02.51/daemons/clvmd/Makefile.in 2009-08-27 00:06:20.642231272 +0000
-@@ -101,7 +101,7 @@
- install_clvmd
-
- clvmd: $(OBJECTS) $(top_srcdir)/lib/liblvm-internal.a
-- $(CC) -o clvmd $(OBJECTS) $(CFLAGS) $(LDFLAGS) \
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o clvmd $(OBJECTS) \
- $(LVMLIBS) $(LMLIBS) $(LIBS)
-
- .PHONY: install_clvmd
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/daemons/dmeventd/Makefile.in LVM2.2.02.51/daemons/dmeventd/Makefile.in
---- LVM2.2.02.51.orig/daemons/dmeventd/Makefile.in 2009-08-27 00:04:46.805552570 +0000
-+++ LVM2.2.02.51/daemons/dmeventd/Makefile.in 2009-08-27 00:06:20.642231272 +0000
-@@ -41,12 +41,12 @@
- all: dmeventd
- device-mapper: dmeventd $(LIB_STATIC)
-
--LDFLAGS += -ldl -ldevmapper -lpthread
--CLDFLAGS += -ldl -ldevmapper -lpthread
-+LIBS += -ldl -ldevmapper -lpthread
-
- dmeventd: $(LIB_SHARED) $(LIB_STATIC) $(VERSIONED_SHLIB) dmeventd.o
-- $(CC) -o $@ dmeventd.o $(CFLAGS) $(LDFLAGS) \
-- -L. -ldevmapper-event $(LIBS) -rdynamic
-+ $(CC) $(CFLAGS) $(LDFLAGS) -L. \
-+ -o $@ dmeventd.o \
-+ -ldevmapper-event $(LIBS) -rdynamic
-
- .PHONY: install_dynamic install_static install_include \
- install_pkgconfig install_dmeventd
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/daemons/dmeventd/plugins/mirror/Makefile.in LVM2.2.02.51/daemons/dmeventd/plugins/mirror/Makefile.in
---- LVM2.2.02.51.orig/daemons/dmeventd/plugins/mirror/Makefile.in 2009-05-11 10:28:46.000000000 +0000
-+++ LVM2.2.02.51/daemons/dmeventd/plugins/mirror/Makefile.in 2009-08-27 00:06:20.642231272 +0000
-@@ -17,7 +17,8 @@
- VPATH = @srcdir@
-
- INCLUDES += -I${top_srcdir}/tools
--CLDFLAGS += -L${top_srcdir}/tools -ldevmapper @LVM2CMD_LIB@
-+CLDFLAGS += -L${top_srcdir}/tools
-+LIBS += -ldevmapper -lpthread @LVM2CMD_LIB@
-
- SOURCES = dmeventd_mirror.c
-
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/daemons/dmeventd/plugins/snapshot/Makefile.in LVM2.2.02.51/daemons/dmeventd/plugins/snapshot/Makefile.in
---- LVM2.2.02.51.orig/daemons/dmeventd/plugins/snapshot/Makefile.in 2009-05-11 10:28:46.000000000 +0000
-+++ LVM2.2.02.51/daemons/dmeventd/plugins/snapshot/Makefile.in 2009-08-27 00:06:20.642231272 +0000
-@@ -17,7 +17,8 @@
- VPATH = @srcdir@
-
- INCLUDES += -I${top_srcdir}/tools
--CLDFLAGS += -L${top_srcdir}/tools -ldevmapper @LVM2CMD_LIB@
-+CLDFLAGS += -L${top_srcdir}/tools
-+LIBS += -lpthread -ldevmapper @LVM2CMD_LIB@
-
- SOURCES = dmeventd_snapshot.c
-
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/lib/Makefile.in LVM2.2.02.51/lib/Makefile.in
---- LVM2.2.02.51.orig/lib/Makefile.in 2009-06-03 11:31:06.000000000 +0000
-+++ LVM2.2.02.51/lib/Makefile.in 2009-08-27 00:06:20.642231272 +0000
-@@ -137,7 +137,8 @@
- endif
-
- ifeq ("@DMEVENTD@", "yes")
-- CLDFLAGS += -ldevmapper-event
-+ CLDFLAGS += -L../daemons/dmeventd
-+ LIBS += -ldevmapper-event
- endif
-
- LIB_NAME = liblvm-internal
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/make.tmpl.in LVM2.2.02.51/make.tmpl.in
---- LVM2.2.02.51.orig/make.tmpl.in 2009-07-31 11:49:53.000000000 +0000
-+++ LVM2.2.02.51/make.tmpl.in 2009-08-27 00:06:20.645583990 +0000
-@@ -28,7 +28,7 @@
- LN_S = @LN_S@
- SED = @SED@
-
--LIBS = @LIBS@
-+LIBS += @LIBS@ $(LVMLIBS) $(LMLIBS)
- DEFS += @DEFS@
- CFLAGS += @CFLAGS@
- CLDFLAGS += @CLDFLAGS@
-@@ -208,19 +208,19 @@
- ifeq ("@LIB_SUFFIX@","so")
- $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
- $(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
- endif
-
- ifeq ("@LIB_SUFFIX@","dylib")
- $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
- $(CC) -dynamiclib -dylib_current_version,$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
- endif
-
- %.so: %.a
- $(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
-- $(CFLAGS) $(CLDFLAGS) $(LIBS) -o $@ \
-- @CLDWHOLEARCHIVE@ $< @CLDNOWHOLEARCHIVE@
-+ $(CFLAGS) $(CLDFLAGS) $(LDFLAGS) -o $@ \
-+ @CLDWHOLEARCHIVE@ $< @CLDNOWHOLEARCHIVE@ $(LIBS)
-
- $(LIB_STATIC): $(OBJECTS)
- $(RM) $@
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/test/api/Makefile.in LVM2.2.02.51/test/api/Makefile.in
---- LVM2.2.02.51.orig/test/api/Makefile.in 2009-07-21 13:51:05.000000000 +0000
-+++ LVM2.2.02.51/test/api/Makefile.in 2009-08-27 00:07:52.285533964 +0000
-@@ -38,7 +38,7 @@
- OBJECTS = $(test_OBJECTS) $(vgtest_OBJECTS)
-
- test: $(test_OBJECTS) $(DEPLIBS)
-- $(CC) -o test $(test_OBJECTS) $(CFLAGS) $(LDFLAGS) $(LVMLIBS) $(LIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o test $(test_OBJECTS) $(LVMLIBS) $(LIBS)
-
- vgtest: $(vgtest_OBJECTS) $(DEPLIBS)
-- $(CC) -o vgtest $(vgtest_OBJECTS) $(CFLAGS) $(LDFLAGS) $(LVMLIBS) $(LIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o vgtest $(vgtest_OBJECTS) $(LVMLIBS) $(LIBS)
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/tools/Makefile.in LVM2.2.02.51/tools/Makefile.in
---- LVM2.2.02.51.orig/tools/Makefile.in 2009-05-21 11:11:29.000000000 +0000
-+++ LVM2.2.02.51/tools/Makefile.in 2009-08-27 00:06:20.645583990 +0000
-@@ -106,24 +106,29 @@
- device-mapper: $(TARGETS_DM)
-
- dmsetup: dmsetup.o $(top_srcdir)/libdm/libdevmapper.$(LIB_SUFFIX)
-- $(CC) -o $@ dmsetup.o $(CFLAGS) $(LDFLAGS) \
-- -L$(top_srcdir)/libdm -ldevmapper $(LIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) \
-+ -L$(top_srcdir)/libdm \
-+ -o $@ dmsetup.o \
-+ -ldevmapper $(LIB_PTHREAD)
-
- dmsetup.static: dmsetup.o $(interfacedir)/libdevmapper.a
-- $(CC) -o $@ dmsetup.o $(CFLAGS) $(LDFLAGS) -static \
-- -L$(interfacedir) -ldevmapper $(LIBS) \
-- $(LIB_PTHREAD)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -static \
-+ -L$(interfacedir) \
-+ -o $@ dmsetup.o \
-+ -ldevmapper $(LIB_PTHREAD)
-
- all: device-mapper
-
- lvm: $(OBJECTS) lvm.o $(top_srcdir)/lib/liblvm-internal.a
-- $(CC) -o $@ $(CFLAGS) $(OBJECTS) lvm.o \
-- $(LDFLAGS) $(LVMLIBS) $(LIBS) -rdynamic
-+ $(CC) $(CFLAGS) $(LDFLAGS) \
-+ -o $@ $(OBJECTS) lvm.o \
-+ $(LVMLIBS) $(LIBS) -rdynamic
-
- LIB_PTHREAD = @LIB_PTHREAD@
- lvm.static: $(OBJECTS) lvm-static.o $(top_srcdir)/lib/liblvm-internal.a $(interfacedir)/libdevmapper.a
-- $(CC) -o $@ $(CFLAGS) $(OBJECTS) lvm-static.o -static \
-- -L$(interfacedir) $(LDFLAGS) $(LVMLIBS) $(LIBS) $(LIB_PTHREAD) -rdynamic
-+ $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacedir) \
-+ -o $@ $(OBJECTS) lvm-static.o \
-+ $(LVMLIBS) $(LIBS) $(LIB_PTHREAD) -rdynamic
-
- liblvm2cmd.a: $(top_srcdir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
- cat $(top_srcdir)/lib/liblvm-internal.a > $@
diff --git a/sys-fs/lvm2/files/lvm2-2.02.51-device-mapper-export-format.patch b/sys-fs/lvm2/files/lvm2-2.02.51-device-mapper-export-format.patch
deleted file mode 100644
index 661c4907db9b..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.51-device-mapper-export-format.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-Add support for exporting the device-mapper table to userspace.
-
-Original patch written by Matthias Schwarzott <zzam@gentoo.org>, in response to
-Gentoo bug #189404.
-
-This makes it possible to have udev rules based on the properties of the
-device-mapper node, such as target types, suspended status etc.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-Ported-from: lvm2-2.02.48-device-mapper-export-format.patch
-
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/libdm/libdevmapper.h LVM2.2.02.51/libdm/libdevmapper.h
---- LVM2.2.02.51.orig/libdm/libdevmapper.h 2009-08-06 15:04:30.000000000 +0000
-+++ LVM2.2.02.51/libdm/libdevmapper.h 2009-08-26 23:59:20.109335044 +0000
-@@ -972,6 +972,7 @@
- #define DM_REPORT_OUTPUT_FIELD_NAME_PREFIX 0x00000008
- #define DM_REPORT_OUTPUT_FIELD_UNQUOTED 0x00000010
- #define DM_REPORT_OUTPUT_COLUMNS_AS_ROWS 0x00000020
-+#define DM_REPORT_OUTPUT_EXPORT 0x00000040
-
- struct dm_report *dm_report_init(uint32_t *report_types,
- const struct dm_report_object_type *types,
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/libdm/libdm-report.c LVM2.2.02.51/libdm/libdm-report.c
---- LVM2.2.02.51.orig/libdm/libdm-report.c 2009-02-09 09:45:49.000000000 +0000
-+++ LVM2.2.02.51/libdm/libdm-report.c 2009-08-26 23:59:20.112668654 +0000
-@@ -891,6 +891,8 @@
- uint32_t align;
- const char *repstr;
- char buf[4096];
-+ const char *fname;
-+ char tmp_char;
-
- if (rh->flags & DM_REPORT_OUTPUT_FIELD_NAME_PREFIX) {
- if (!(field_id = strdup(rh->fields[field->props->field_num].id))) {
-@@ -921,6 +923,25 @@
- return 0;
- }
- }
-+ if (rh->flags & DM_REPORT_OUTPUT_EXPORT) {
-+ fname = rh->fields[field->props->field_num].id;
-+ if (!dm_pool_grow_object(rh->mem, "DM_", strlen("DM_"))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ while (fname && fname[0]) {
-+ tmp_char = toupper(fname[0]);
-+ if (!dm_pool_grow_object(rh->mem, &tmp_char, 1)) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ fname++;
-+ }
-+ if (!dm_pool_grow_object(rh->mem, "=", strlen("="))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ }
-
- repstr = field->report_string;
- width = field->props->width;
-diff -Naru --exclude '*.rej' --exclude '*.orig' LVM2.2.02.51.orig/tools/dmsetup.c LVM2.2.02.51/tools/dmsetup.c
---- LVM2.2.02.51.orig/tools/dmsetup.c 2009-08-06 15:56:50.000000000 +0000
-+++ LVM2.2.02.51/tools/dmsetup.c 2009-08-27 00:01:10.332242296 +0000
-@@ -114,6 +114,7 @@
- enum {
- READ_ONLY = 0,
- COLS_ARG,
-+ EXPORT_ARG,
- EXEC_ARG,
- FORCE_ARG,
- GID_ARG,
-@@ -150,7 +151,8 @@
- DR_INFO = 2,
- DR_DEPS = 4,
- DR_TREE = 8, /* Complete dependency tree required */
-- DR_NAME = 16
-+ DR_NAME = 16,
-+ DR_TABLE = 0x20, /* table is required, not just info */
- } report_type_t;
-
- static int _switches[NUM_SWITCHES];
-@@ -1383,8 +1385,13 @@
- name = argv[1];
- }
-
-- if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-- return 0;
-+ if (_report_type & DR_TABLE ) {
-+ if (!(dmt = dm_task_create(DM_DEVICE_TABLE)))
-+ return 0;
-+ } else {
-+ if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-+ return 0;
-+ }
-
- if (!_set_task_device(dmt, name, 0))
- goto out;
-@@ -1848,6 +1855,16 @@
- return dm_report_field_uint32(rh, field, &value);
- }
-
-+static int _int_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const int value = *(const int *)data;
-+
-+ return dm_report_field_int(rh, field, &value);
-+}
-+
- static int _dm_name_disp(struct dm_report *rh,
- struct dm_pool *mem __attribute((unused)),
- struct dm_report_field *field, const void *data,
-@@ -1959,6 +1976,66 @@
- }
-
-
-+static int _dm_info_cleartext_status_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const char *buf = "NOTPRESENT";
-+ const struct dm_info *info = data;
-+
-+ if (info->exists) {
-+ if (info->suspended)
-+ buf = "SUSPENDED";
-+ else
-+ buf = info->read_only ? " READONLY" : "ACTIVE";
-+ }
-+
-+ return dm_report_field_string(rh, field, &buf);
-+}
-+
-+static int _dm_info_target_types_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ char buf[1024];
-+ char *dest = buf;
-+ int remains = sizeof(buf);
-+ int written;
-+ const char *s = buf;
-+ struct dm_task *dmt = (struct dm_task *) data;
-+ void *next = NULL;
-+ uint64_t start, length;
-+ char *target_type = NULL;
-+ char *params;
-+
-+
-+ buf[0] = '\0';
-+
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, "%s", target_type);
-+ dest += written;
-+ remains -= written;
-+
-+ while (remains > 0 && next) {
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, ",%s", target_type);
-+ dest += written;
-+ remains -= written;
-+ }
-+ }
-+ }
-+
-+ buf[sizeof(buf)-1] = '\0';
-+
-+ return dm_report_field_string(rh, field, &s);
-+}
-+
- static int _dm_info_devno_disp(struct dm_report *rh, struct dm_pool *mem,
- struct dm_report_field *field, const void *data,
- void *private)
-@@ -2223,6 +2300,7 @@
- { DR_DEPS, "Mapped Device Relationship Information", "", _deps_get_obj },
- { DR_TREE, "Mapped Device Relationship Information", "", _tree_get_obj },
- { DR_NAME, "Mapped Device Name Components", "", _split_name_get_obj },
-+ { DR_TABLE, "Mapped Device Table", "", _task_get_obj },
- { 0, "", "", NULL },
- };
-
-@@ -2242,6 +2320,7 @@
- FIELD_F(TASK, NUM, "RAhead", 6, dm_read_ahead, "read_ahead", "Read ahead in sectors.")
-
- FIELD_F(INFO, STR, "Stat", 4, dm_info_status, "attr", "(L)ive, (I)nactive, (s)uspended, (r)ead-only, read-(w)rite.")
-+FIELD_F(INFO, STR, "State", 1, dm_info_cleartext_status, "status", "State as cleartext.")
- FIELD_F(INFO, STR, "Tables", 6, dm_info_table_loaded, "tables_loaded", "Which of the live and inactive table slots are filled.")
- FIELD_F(INFO, STR, "Suspended", 9, dm_info_suspended, "suspended", "Whether the device is suspended.")
- FIELD_F(INFO, STR, "Read-only", 9, dm_info_read_only, "readonly", "Whether the device is read-only or writeable.")
-@@ -2252,6 +2331,11 @@
- FIELD_O(INFO, dm_info, NUM, "Targ", target_count, 4, int32, "segments", "Number of segments in live table, if present.")
- FIELD_O(INFO, dm_info, NUM, "Event", event_nr, 6, uint32, "events", "Number of most recent event.")
-
-+FIELD_O(INFO, dm_info, NUM, "RO", read_only, 2, int, "read_only", "Read only.")
-+FIELD_O(INFO, dm_info, NUM, "Ex", exists, 2, int, "exists", "Exists.")
-+FIELD_O(INFO, dm_info, NUM, "Susp", suspended, 4, int, "suspended", "Suspended.")
-+FIELD_O(INFO, dm_info, NUM, "tab_live", live_table, 8, int, "table_live", "Live table.")
-+FIELD_O(INFO, dm_info, NUM, "tab_inact", inactive_table, 9, int, "table_inactive", "Inactive table.")
- FIELD_O(DEPS, dm_deps, NUM, "#Devs", count, 5, int32, "device_count", "Number of devices used by this one.")
- FIELD_F(TREE, STR, "DevNames", 8, dm_deps_names, "devs_used", "List of names of mapped devices used by this one.")
- FIELD_F(DEPS, STR, "DevNos", 6, dm_deps, "devnos_used", "List of device numbers of devices used by this one.")
-@@ -2259,6 +2343,7 @@
- FIELD_F(TREE, NUM, "#Refs", 5, dm_tree_parents_count, "device_ref_count", "Number of mapped devices referencing this one.")
- FIELD_F(TREE, STR, "RefNames", 8, dm_tree_parents_names, "names_using_dev", "List of names of mapped devices using this one.")
- FIELD_F(TREE, STR, "RefDevNos", 9, dm_tree_parents_devs, "devnos_using_dev", "List of device numbers of mapped devices using this one.")
-+FIELD_F(TABLE, STR, "Targettypes", 32, dm_info_target_types, "target_types", "Used target types.")
-
- FIELD_O(NAME, dm_split_name, STR, "Subsys", subsystem, 6, dm_subsystem, "subsystem", "Userspace subsystem responsible for this device.")
- FIELD_O(NAME, dm_split_name, STR, "VG", vg_name, 4, dm_vg_name, "vg_name", "LVM Volume Group name.")
-@@ -2275,14 +2360,16 @@
- #undef FIELD_F
-
- static const char *default_report_options = "name,major,minor,attr,open,segments,events,uuid";
-+static const char *default_export_options = "name,major,minor,status,read_only,exists,suspended,table_live,table_inactive,open,segments,events,uuid,target_types";
- static const char *splitname_report_options = "vg_name,lv_name,lv_layer";
-
- static int _report_init(struct command *c)
- {
-- char *options = (char *) default_report_options;
-+ char *default_options = (char *) default_report_options;
-+ char *options;
- const char *keys = "";
- const char *separator = " ";
-- int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0;
-+ int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0, export = 0;
- int quoted = 1, columns_as_rows = 0;
- uint32_t flags = 0;
- size_t len = 0;
-@@ -2312,6 +2399,15 @@
- field_prefixes = 1;
- }
-
-+ if (_switches[EXPORT_ARG]) {
-+ default_options = (char *) default_export_options;
-+ separator = "\n";
-+ aligned = 0;
-+ headings = 0;
-+ export = 1;
-+ }
-+
-+ options = default_options;
- if (_switches[OPTIONS_ARG] && _string_args[OPTIONS_ARG]) {
- if (*_string_args[OPTIONS_ARG] != '+')
- options = _string_args[OPTIONS_ARG];
-@@ -2363,6 +2459,9 @@
- if (columns_as_rows)
- flags |= DM_REPORT_OUTPUT_COLUMNS_AS_ROWS;
-
-+ if (export)
-+ flags |= DM_REPORT_OUTPUT_EXPORT;
-+
- if (!(_report = dm_report_init(&_report_type,
- _report_types, _report_fields,
- options, separator, flags, keys, NULL)))
-@@ -2446,7 +2545,9 @@
- " [-r|--readonly] [--noopencount] [--nolockfs]\n"
- " [--noudevsync] [--readahead [+]<sectors>|auto|none]\n"
- " [-c|-C|--columns] [-o <fields>] [-O|--sort <sort_fields>]\n"
-- " [--nameprefixes] [--noheadings] [--separator <separator>]\n\n");
-+ " [--nameprefixes] [--noheadings] [--separator <separator>]\n"
-+ " [-e|--export]\n"
-+ "\n");
- for (i = 0; _commands[i].name; i++)
- fprintf(out, "\t%s %s\n", _commands[i].name, _commands[i].help);
- fprintf(out, "\n<device> may be device name or -u <uuid> or "
-@@ -2701,7 +2802,7 @@
- show_all++;
- if (c == 'd')
- delete++;
-- if (c == 'e')
-+ if (c == 'E')
- encrypt_loop++;
- if (c == 'f')
- find++;
-@@ -2796,6 +2897,7 @@
- static struct option long_options[] = {
- {"readonly", 0, &ind, READ_ONLY},
- {"columns", 0, &ind, COLS_ARG},
-+ {"export", 0, &ind, EXPORT_ARG},
- {"exec", 1, &ind, EXEC_ARG},
- {"force", 0, &ind, FORCE_ARG},
- {"gid", 1, &ind, GID_ARG},
-@@ -2879,12 +2981,16 @@
-
- optarg = 0;
- optind = OPTIND_INIT;
-- while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCfG:j:m:M:no:O:ru:U:v",
-+ while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCefG:j:m:M:no:O:ru:U:v",
- long_options, NULL)) != -1) {
- if (c == ':' || c == '?')
- return 0;
- if (c == 'c' || c == 'C' || ind == COLS_ARG)
- _switches[COLS_ARG]++;
-+ if (c == 'e' || ind == EXPORT_ARG) {
-+ _switches[EXPORT_ARG]++;
-+ _switches[COLS_ARG]++;
-+ }
- if (c == 'f' || ind == FORCE_ARG)
- _switches[FORCE_ARG]++;
- if (c == 'r' || ind == READ_ONLY)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix-r3.patch b/sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix-r3.patch
deleted file mode 100644
index 9dfd80cd7ccf..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix-r3.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Nuar LVM2.2.02.51.orig/tools/Makefile.in LVM2.2.02.51/tools/Makefile.in
---- LVM2.2.02.51.orig/tools/Makefile.in 2009-11-29 22:41:54.008495958 +0000
-+++ LVM2.2.02.51/tools/Makefile.in 2009-11-29 22:44:40.207625943 +0000
-@@ -98,6 +98,7 @@
- endif
-
- LVMLIBS += -ldevmapper
-+SELINUX_LIBS += @SELINUX_LIBS@
-
- DEFS += -DLVM_SHARED_PATH=\"$(exec_prefix)/sbin/lvm\"
-
-@@ -109,13 +110,13 @@
- $(CC) $(CFLAGS) $(LDFLAGS) \
- -L$(top_srcdir)/libdm \
- -o $@ dmsetup.o \
-- -ldevmapper $(LIB_PTHREAD)
-+ -ldevmapper $(SELINUX_LIBS) $(LIB_PTHREAD)
-
- dmsetup.static: dmsetup.o $(interfacedir)/libdevmapper.a
- $(CC) $(CFLAGS) $(LDFLAGS) -static \
- -L$(interfacedir) \
- -o $@ dmsetup.o \
-- -ldevmapper $(LIB_PTHREAD)
-+ -ldevmapper $(SELINUX_LIBS) $(LIB_PTHREAD)
-
- all: device-mapper
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix.patch b/sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix.patch
deleted file mode 100644
index 5b8c0db96bdc..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.51-dmsetup-selinux-linking-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Nuar LVM2.2.02.51.orig/tools/Makefile.in LVM2.2.02.51/tools/Makefile.in
---- LVM2.2.02.51.orig/tools/Makefile.in 2009-11-09 21:31:21.785012413 +0000
-+++ LVM2.2.02.51/tools/Makefile.in 2009-11-09 21:40:50.157475714 +0000
-@@ -109,13 +109,13 @@
- $(CC) $(CFLAGS) $(LDFLAGS) \
- -L$(top_srcdir)/libdm \
- -o $@ dmsetup.o \
-- -ldevmapper $(LIB_PTHREAD)
-+ -ldevmapper $(LIBS) $(LIB_PTHREAD)
-
- dmsetup.static: dmsetup.o $(interfacedir)/libdevmapper.a
- $(CC) $(CFLAGS) $(LDFLAGS) -static \
- -L$(interfacedir) \
- -o $@ dmsetup.o \
-- -ldevmapper $(LIB_PTHREAD)
-+ -ldevmapper $(LIBS) $(LIB_PTHREAD)
-
- all: device-mapper
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.51-fix-pvcreate.patch b/sys-fs/lvm2/files/lvm2-2.02.51-fix-pvcreate.patch
deleted file mode 100644
index 370ab6d5ad11..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.51-fix-pvcreate.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-Upstream patch:
-https://www.redhat.com/archives/lvm-devel/2009-August/msg00106.html
-
-# ===================================================================
-# RCS file: /cvs/lvm2/LVM2/WHATS_NEW,v
-# retrieving revision 1.1241
-# retrieving revision 1.1242
-# diff -u -r1.1241 -r1.1242
-# --- LVM2/WHATS_NEW 2009/08/13 17:16:38 1.1241
-# +++ LVM2/WHATS_NEW 2009/08/19 15:34:33 1.1242
-# @@ -1,5 +1,6 @@
-# Version 2.02.52 -
-# =================================
-# + Fix pvcreate on a partition (2.02.51).
-# Fix vgcfgrestore error paths when locking fails (2.02.49).
-# Added configure --enable-clogd to conditionally build the cluster log daemon.
-# Make lvchange --refresh only take a read lock on volume group.
-# ===================================================================
-# RCS file: /cvs/lvm2/LVM2/lib/device/dev-md.c,v
-# retrieving revision 1.18
-# retrieving revision 1.19
-diff -u -r1.18 -r1.19
---- LVM2/lib/device/dev-md.c 2009/08/01 17:14:52 1.18
-+++ LVM2/lib/device/dev-md.c 2009/08/19 15:34:43 1.19
-@@ -137,13 +137,15 @@
- if (!sysfs_dir || !*sysfs_dir)
- return ret;
-
--check_md_major:
-- if (MAJOR(dev) != md_major()) {
-- if (get_primary_dev(sysfs_dir, blkdev, &dev))
-- goto check_md_major;
-- return ret;
-+ if (MAJOR(dev) == blkext_major()) {
-+ /* lookup parent MD device from blkext partition */
-+ if (!get_primary_dev(sysfs_dir, blkdev, &dev))
-+ return ret;
- }
-
-+ if (MAJOR(dev) != md_major())
-+ return ret;
-+
- ret = dm_snprintf(path, size, "%s/dev/block/%d:%d/md/%s", sysfs_dir,
- (int)MAJOR(dev), (int)MINOR(dev), attribute);
- if (ret < 0) {
-===================================================================
-RCS file: /cvs/lvm2/LVM2/lib/filters/filter.c,v
-retrieving revision 1.48
-retrieving revision 1.49
-diff -u -r1.48 -r1.49
---- LVM2/lib/filters/filter.c 2009/07/09 22:34:02 1.48
-+++ LVM2/lib/filters/filter.c 2009/08/19 15:34:46 1.49
-@@ -38,6 +38,7 @@
- } device_info_t;
-
- static int _md_major = -1;
-+static int _blkext_major = -1;
- static int _device_mapper_major = -1;
-
- int md_major(void)
-@@ -45,6 +46,11 @@
- return _md_major;
- }
-
-+int blkext_major(void)
-+{
-+ return _blkext_major;
-+}
-+
- /*
- * Devices are only checked for partition tables if their minor number
- * is a multiple of the number corresponding to their type below
-@@ -197,6 +203,10 @@
- if (!strncmp("md", line + i, 2) && isspace(*(line + i + 2)))
- _md_major = line_maj;
-
-+ /* Look for blkext device */
-+ if (!strncmp("blkext", line + i, 6) && isspace(*(line + i + 6)))
-+ _blkext_major = line_maj;
-+
- /* Look for device-mapper device */
- /* FIXME Cope with multiple majors */
- if (!strncmp("device-mapper", line + i, 13) && isspace(*(line + i + 13)))
-===================================================================
-RCS file: /cvs/lvm2/LVM2/lib/filters/filter.h,v
-retrieving revision 1.15
-retrieving revision 1.16
-diff -u -r1.15 -r1.16
---- LVM2/lib/filters/filter.h 2007/08/20 20:55:25 1.15
-+++ LVM2/lib/filters/filter.h 2009/08/19 15:34:46 1.16
-@@ -36,6 +36,7 @@
- void lvm_type_filter_destroy(struct dev_filter *f);
-
- int md_major(void);
-+int blkext_major(void);
- int max_partitions(int major);
-
- #endif
diff --git a/sys-fs/lvm2/files/lvm2-2.02.56-always-make-static-libdm.patch b/sys-fs/lvm2/files/lvm2-2.02.56-always-make-static-libdm.patch
deleted file mode 100644
index 35e392ec7f97..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.56-always-make-static-libdm.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Nuar LVM2.2.02.56.orig/daemons/dmeventd/Makefile.in LVM2.2.02.56/daemons/dmeventd/Makefile.in
---- LVM2.2.02.56.orig/daemons/dmeventd/Makefile.in 2009-11-29 16:42:25.208865445 -0800
-+++ LVM2.2.02.56/daemons/dmeventd/Makefile.in 2009-11-29 16:45:18.904491124 -0800
-@@ -26,11 +26,11 @@
- INSTALL_DMEVENTD_TARGETS = install_dmeventd_dynamic
- INSTALL_LIB_TARGETS = install_lib_dynamic
-
-+LIB_STATIC = libdevmapper-event.a
-+INSTALL_LIB_TARGETS += install_lib_static
- ifeq ("@STATIC_LINK@", "yes")
-- LIB_STATIC = libdevmapper-event.a
- TARGETS += dmeventd.static
- INSTALL_DMEVENTD_TARGETS += install_dmeventd_static
-- INSTALL_LIB_TARGETS += install_lib_static
- endif
-
- LIB_VERSION = $(LIB_VERSION_DM)
-diff -Nuar LVM2.2.02.56.orig/libdm/Makefile.in LVM2.2.02.56/libdm/Makefile.in
---- LVM2.2.02.56.orig/libdm/Makefile.in 2009-10-02 12:10:36.000000000 -0700
-+++ LVM2.2.02.56/libdm/Makefile.in 2009-11-29 16:44:30.552491107 -0800
-@@ -35,9 +35,9 @@
-
- INCLUDES = -I$(srcdir)/$(interface) -I$(srcdir)
-
--ifeq ("@STATIC_LINK@", "yes")
- LIB_STATIC = $(interface)/libdevmapper.a
-+ifeq ("@STATIC_LINK@", "yes")
- endif
-
- ifeq ("@LIB_SUFFIX@","dylib")
- LIB_SHARED = $(interface)/libdevmapper.dylib
-@@ -60,9 +60,9 @@
-
- INSTALL_TYPE = install_dynamic
-
--ifeq ("@STATIC_LINK@", "yes")
- INSTALL_TYPE += install_static
-+ifeq ("@STATIC_LINK@", "yes")
- endif
-
- ifeq ("@PKGCONFIG@", "yes")
- INSTALL_TYPE += install_pkgconfig
diff --git a/sys-fs/lvm2/files/lvm2-2.02.56-device-mapper-export-format.patch b/sys-fs/lvm2/files/lvm2-2.02.56-device-mapper-export-format.patch
deleted file mode 100644
index 28692ee3d77c..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.56-device-mapper-export-format.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-diff -Nuar --exclude '*.orig' --exclude '*.rej' LVM2.2.02.56.orig/libdm/libdevmapper.h LVM2.2.02.56/libdm/libdevmapper.h
---- LVM2.2.02.56.orig/libdm/libdevmapper.h 2009-11-13 12:43:21.000000000 +0000
-+++ LVM2.2.02.56/libdm/libdevmapper.h 2009-11-29 23:56:16.410529643 +0000
-@@ -982,6 +982,7 @@
- #define DM_REPORT_OUTPUT_FIELD_NAME_PREFIX 0x00000008
- #define DM_REPORT_OUTPUT_FIELD_UNQUOTED 0x00000010
- #define DM_REPORT_OUTPUT_COLUMNS_AS_ROWS 0x00000020
-+#define DM_REPORT_OUTPUT_EXPORT 0x00000040
-
- struct dm_report *dm_report_init(uint32_t *report_types,
- const struct dm_report_object_type *types,
-diff -Nuar --exclude '*.orig' --exclude '*.rej' LVM2.2.02.56.orig/libdm/libdm-report.c LVM2.2.02.56/libdm/libdm-report.c
---- LVM2.2.02.56.orig/libdm/libdm-report.c 2009-02-09 09:45:49.000000000 +0000
-+++ LVM2.2.02.56/libdm/libdm-report.c 2009-11-29 23:56:16.410529643 +0000
-@@ -891,6 +891,8 @@
- uint32_t align;
- const char *repstr;
- char buf[4096];
-+ const char *fname;
-+ char tmp_char;
-
- if (rh->flags & DM_REPORT_OUTPUT_FIELD_NAME_PREFIX) {
- if (!(field_id = strdup(rh->fields[field->props->field_num].id))) {
-@@ -921,6 +923,25 @@
- return 0;
- }
- }
-+ if (rh->flags & DM_REPORT_OUTPUT_EXPORT) {
-+ fname = rh->fields[field->props->field_num].id;
-+ if (!dm_pool_grow_object(rh->mem, "DM_", strlen("DM_"))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ while (fname && fname[0]) {
-+ tmp_char = toupper(fname[0]);
-+ if (!dm_pool_grow_object(rh->mem, &tmp_char, 1)) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ fname++;
-+ }
-+ if (!dm_pool_grow_object(rh->mem, "=", strlen("="))) {
-+ log_error("dm_report: Unable to extend output line");
-+ return 0;
-+ }
-+ }
-
- repstr = field->report_string;
- width = field->props->width;
-diff -Nuar --exclude '*.orig' --exclude '*.rej' LVM2.2.02.56.orig/tools/dmsetup.c LVM2.2.02.56/tools/dmsetup.c
---- LVM2.2.02.56.orig/tools/dmsetup.c 2009-11-13 12:43:22.000000000 +0000
-+++ LVM2.2.02.56/tools/dmsetup.c 2009-11-29 23:59:32.047603270 +0000
-@@ -114,6 +114,7 @@
- enum {
- READ_ONLY = 0,
- COLS_ARG,
-+ EXPORT_ARG,
- EXEC_ARG,
- FORCE_ARG,
- GID_ARG,
-@@ -152,7 +153,8 @@
- DR_INFO = 2,
- DR_DEPS = 4,
- DR_TREE = 8, /* Complete dependency tree required */
-- DR_NAME = 16
-+ DR_NAME = 16,
-+ DR_TABLE = 0x20, /* table is required, not just info */
- } report_type_t;
-
- static int _switches[NUM_SWITCHES];
-@@ -1491,8 +1493,13 @@
- name = argv[1];
- }
-
-- if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-- return 0;
-+ if (_report_type & DR_TABLE ) {
-+ if (!(dmt = dm_task_create(DM_DEVICE_TABLE)))
-+ return 0;
-+ } else {
-+ if (!(dmt = dm_task_create(DM_DEVICE_INFO)))
-+ return 0;
-+ }
-
- if (!_set_task_device(dmt, name, 0))
- goto out;
-@@ -1962,6 +1969,16 @@
- return dm_report_field_uint32(rh, field, &value);
- }
-
-+static int _int_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const int value = *(const int *)data;
-+
-+ return dm_report_field_int(rh, field, &value);
-+}
-+
- static int _dm_name_disp(struct dm_report *rh,
- struct dm_pool *mem __attribute((unused)),
- struct dm_report_field *field, const void *data,
-@@ -2073,6 +2090,66 @@
- }
-
-
-+static int _dm_info_cleartext_status_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ const char *buf = "NOTPRESENT";
-+ const struct dm_info *info = data;
-+
-+ if (info->exists) {
-+ if (info->suspended)
-+ buf = "SUSPENDED";
-+ else
-+ buf = info->read_only ? " READONLY" : "ACTIVE";
-+ }
-+
-+ return dm_report_field_string(rh, field, &buf);
-+}
-+
-+static int _dm_info_target_types_disp(struct dm_report *rh,
-+ struct dm_pool *mem __attribute((unused)),
-+ struct dm_report_field *field, const void *data,
-+ void *private __attribute((unused)))
-+{
-+ char buf[1024];
-+ char *dest = buf;
-+ int remains = sizeof(buf);
-+ int written;
-+ const char *s = buf;
-+ struct dm_task *dmt = (struct dm_task *) data;
-+ void *next = NULL;
-+ uint64_t start, length;
-+ char *target_type = NULL;
-+ char *params;
-+
-+
-+ buf[0] = '\0';
-+
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, "%s", target_type);
-+ dest += written;
-+ remains -= written;
-+
-+ while (remains > 0 && next) {
-+ next = dm_get_next_target(dmt, next, &start, &length,
-+ &target_type, &params);
-+ if (target_type) {
-+ written = snprintf(dest, remains, ",%s", target_type);
-+ dest += written;
-+ remains -= written;
-+ }
-+ }
-+ }
-+
-+ buf[sizeof(buf)-1] = '\0';
-+
-+ return dm_report_field_string(rh, field, &s);
-+}
-+
- static int _dm_info_devno_disp(struct dm_report *rh, struct dm_pool *mem,
- struct dm_report_field *field, const void *data,
- void *private)
-@@ -2337,6 +2414,7 @@
- { DR_DEPS, "Mapped Device Relationship Information", "", _deps_get_obj },
- { DR_TREE, "Mapped Device Relationship Information", "", _tree_get_obj },
- { DR_NAME, "Mapped Device Name Components", "", _split_name_get_obj },
-+ { DR_TABLE, "Mapped Device Table", "", _task_get_obj },
- { 0, "", "", NULL },
- };
-
-@@ -2356,6 +2434,7 @@
- FIELD_F(TASK, NUM, "RAhead", 6, dm_read_ahead, "read_ahead", "Read ahead in sectors.")
-
- FIELD_F(INFO, STR, "Stat", 4, dm_info_status, "attr", "(L)ive, (I)nactive, (s)uspended, (r)ead-only, read-(w)rite.")
-+FIELD_F(INFO, STR, "State", 1, dm_info_cleartext_status, "status", "State as cleartext.")
- FIELD_F(INFO, STR, "Tables", 6, dm_info_table_loaded, "tables_loaded", "Which of the live and inactive table slots are filled.")
- FIELD_F(INFO, STR, "Suspended", 9, dm_info_suspended, "suspended", "Whether the device is suspended.")
- FIELD_F(INFO, STR, "Read-only", 9, dm_info_read_only, "readonly", "Whether the device is read-only or writeable.")
-@@ -2366,6 +2445,11 @@
- FIELD_O(INFO, dm_info, NUM, "Targ", target_count, 4, int32, "segments", "Number of segments in live table, if present.")
- FIELD_O(INFO, dm_info, NUM, "Event", event_nr, 6, uint32, "events", "Number of most recent event.")
-
-+FIELD_O(INFO, dm_info, NUM, "RO", read_only, 2, int, "read_only", "Read only.")
-+FIELD_O(INFO, dm_info, NUM, "Ex", exists, 2, int, "exists", "Exists.")
-+FIELD_O(INFO, dm_info, NUM, "Susp", suspended, 4, int, "suspended", "Suspended.")
-+FIELD_O(INFO, dm_info, NUM, "tab_live", live_table, 8, int, "table_live", "Live table.")
-+FIELD_O(INFO, dm_info, NUM, "tab_inact", inactive_table, 9, int, "table_inactive", "Inactive table.")
- FIELD_O(DEPS, dm_deps, NUM, "#Devs", count, 5, int32, "device_count", "Number of devices used by this one.")
- FIELD_F(TREE, STR, "DevNames", 8, dm_deps_names, "devs_used", "List of names of mapped devices used by this one.")
- FIELD_F(DEPS, STR, "DevNos", 6, dm_deps, "devnos_used", "List of device numbers of devices used by this one.")
-@@ -2373,6 +2457,7 @@
- FIELD_F(TREE, NUM, "#Refs", 5, dm_tree_parents_count, "device_ref_count", "Number of mapped devices referencing this one.")
- FIELD_F(TREE, STR, "RefNames", 8, dm_tree_parents_names, "names_using_dev", "List of names of mapped devices using this one.")
- FIELD_F(TREE, STR, "RefDevNos", 9, dm_tree_parents_devs, "devnos_using_dev", "List of device numbers of mapped devices using this one.")
-+FIELD_F(TABLE, STR, "Targettypes", 32, dm_info_target_types, "target_types", "Used target types.")
-
- FIELD_O(NAME, dm_split_name, STR, "Subsys", subsystem, 6, dm_subsystem, "subsystem", "Userspace subsystem responsible for this device.")
- FIELD_O(NAME, dm_split_name, STR, "VG", vg_name, 4, dm_vg_name, "vg_name", "LVM Volume Group name.")
-@@ -2389,14 +2474,16 @@
- #undef FIELD_F
-
- static const char *default_report_options = "name,major,minor,attr,open,segments,events,uuid";
-+static const char *default_export_options = "name,major,minor,status,read_only,exists,suspended,table_live,table_inactive,open,segments,events,uuid,target_types";
- static const char *splitname_report_options = "vg_name,lv_name,lv_layer";
-
- static int _report_init(struct command *c)
- {
-- char *options = (char *) default_report_options;
-+ char *default_options = (char *) default_report_options;
-+ char *options;
- const char *keys = "";
- const char *separator = " ";
-- int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0;
-+ int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0, export = 0;
- int quoted = 1, columns_as_rows = 0;
- uint32_t flags = 0;
- size_t len = 0;
-@@ -2426,6 +2513,15 @@
- field_prefixes = 1;
- }
-
-+ if (_switches[EXPORT_ARG]) {
-+ default_options = (char *) default_export_options;
-+ separator = "\n";
-+ aligned = 0;
-+ headings = 0;
-+ export = 1;
-+ }
-+
-+ options = default_options;
- if (_switches[OPTIONS_ARG] && _string_args[OPTIONS_ARG]) {
- if (*_string_args[OPTIONS_ARG] != '+')
- options = _string_args[OPTIONS_ARG];
-@@ -2477,6 +2573,9 @@
- if (columns_as_rows)
- flags |= DM_REPORT_OUTPUT_COLUMNS_AS_ROWS;
-
-+ if (export)
-+ flags |= DM_REPORT_OUTPUT_EXPORT;
-+
- if (!(_report = dm_report_init(&_report_type,
- _report_types, _report_fields,
- options, separator, flags, keys, NULL)))
-@@ -2561,7 +2660,9 @@
- " [-r|--readonly] [--noopencount] [--nolockfs] [--inactive]\n"
- " [--noudevsync] [-y|--yes] [--readahead [+]<sectors>|auto|none]\n"
- " [-c|-C|--columns] [-o <fields>] [-O|--sort <sort_fields>]\n"
-- " [--nameprefixes] [--noheadings] [--separator <separator>]\n\n");
-+ " [--nameprefixes] [--noheadings] [--separator <separator>]\n"
-+ " [-e|--export]\n"
-+ "\n");
- for (i = 0; _commands[i].name; i++)
- fprintf(out, "\t%s %s\n", _commands[i].name, _commands[i].help);
- fprintf(out, "\n<device> may be device name or -u <uuid> or "
-@@ -2911,6 +3012,7 @@
- static struct option long_options[] = {
- {"readonly", 0, &ind, READ_ONLY},
- {"columns", 0, &ind, COLS_ARG},
-+ {"export", 0, &ind, EXPORT_ARG},
- {"exec", 1, &ind, EXEC_ARG},
- {"force", 0, &ind, FORCE_ARG},
- {"gid", 1, &ind, GID_ARG},
-@@ -2996,12 +3098,16 @@
-
- optarg = 0;
- optind = OPTIND_INIT;
-- while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCfG:j:m:M:no:O:ru:U:vy",
-+ while ((ind = -1, c = GETOPTLONG_FN(*argc, *argv, "cCefG:j:m:M:no:O:ru:U:vy",
- long_options, NULL)) != -1) {
- if (c == ':' || c == '?')
- return 0;
- if (c == 'c' || c == 'C' || ind == COLS_ARG)
- _switches[COLS_ARG]++;
-+ if (c == 'e' || ind == EXPORT_ARG) {
-+ _switches[EXPORT_ARG]++;
-+ _switches[COLS_ARG]++;
-+ }
- if (c == 'f' || ind == FORCE_ARG)
- _switches[FORCE_ARG]++;
- if (c == 'r' || ind == READ_ONLY)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.56-dmeventd.patch b/sys-fs/lvm2/files/lvm2-2.02.56-dmeventd.patch
deleted file mode 100644
index 7d1e338adbbe..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.56-dmeventd.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nuar LVM2.2.02.56.orig/daemons/dmeventd/Makefile.in LVM2.2.02.56/daemons/dmeventd/Makefile.in
---- LVM2.2.02.56.orig/daemons/dmeventd/Makefile.in 2009-11-13 12:48:01.000000000 +0000
-+++ LVM2.2.02.56/daemons/dmeventd/Makefile.in 2009-11-29 23:50:22.873898621 +0000
-@@ -60,7 +60,7 @@
- $(RM) -f $@
- $(LN_S) $(LIB_SHARED) $@
-
--dmeventd: $(LIB_SHARED) $(VERSIONED_SHLIB) dmeventd.o
-+dmeventd: $(LIB_SHARED) $(LIB_STATIC) $(VERSIONED_SHLIB) dmeventd.o
- $(CC) $(CFLAGS) $(LDFLAGS) -L. -o $@ dmeventd.o \
- $(LVMLIBS) $(LIBS) -rdynamic
-
diff --git a/sys-fs/lvm2/files/lvm2-start.sh-2.02.28-r2 b/sys-fs/lvm2/files/lvm2-start.sh-2.02.28-r2
deleted file mode 100755
index 7c72199153e6..000000000000
--- a/sys-fs/lvm2/files/lvm2-start.sh-2.02.28-r2
+++ /dev/null
@@ -1,40 +0,0 @@
-# /lib/rcscripts/addons/lvm-start.sh
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm2-start.sh-2.02.28-r2,v 1.1 2007/10/08 21:11:16 robbat2 Exp $
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-# LVM support for /usr, /home, /opt ....
-# This should be done *before* checking local
-# volumes, or they never get checked.
-
-# NOTE: Add needed modules for LVM or RAID, etc
-# to /etc/modules.autoload if needed
-if [ -z "${CDBOOT}" -a -x /sbin/vgscan ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
-
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- # Extra PV find pass because some devices might not have been available until very recently
- /sbin/pvscan >/dev/null
- # Now make the nodes
- /sbin/vgscan --mknodes --ignorelockingfailure >/dev/null
- if [ -x /sbin/vgchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ]
- then
- /sbin/vgchange --ignorelockingfailure -a y >/dev/null
- fi
- eend $? "Failed to setup the LVM"
- fi
-fi
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-start.sh-2.02.49-r1 b/sys-fs/lvm2/files/lvm2-start.sh-2.02.49-r1
deleted file mode 100755
index 698300381572..000000000000
--- a/sys-fs/lvm2/files/lvm2-start.sh-2.02.49-r1
+++ /dev/null
@@ -1,42 +0,0 @@
-# /lib/rcscripts/addons/lvm-start.sh
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm2-start.sh-2.02.49-r1,v 1.1 2009/07/24 23:37:37 robbat2 Exp $
-
-locking="--lock-dir /dev/.lvm/"
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-# LVM support for /usr, /home, /opt ....
-# This should be done *before* checking local
-# volumes, or they never get checked.
-
-# NOTE: Add needed modules for LVM or RAID, etc
-# to /etc/modules.autoload if needed
-if [ -z "${CDBOOT}" -a -x /sbin/vgscan ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
-
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- # Extra PV find pass because some devices might not have been available until very recently
- /sbin/pvscan ${locking} >/dev/null
- # Now make the nodes
- /sbin/vgscan --mknodes ${locking} >/dev/null
- if [ -x /sbin/vgchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ]
- then
- /sbin/vgchange ${locking} -a y >/dev/null
- fi
- eend $? "Failed to setup the LVM"
- fi
-fi
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-stop.sh-2.02.28-r5 b/sys-fs/lvm2/files/lvm2-stop.sh-2.02.28-r5
deleted file mode 100755
index fda3de467ec0..000000000000
--- a/sys-fs/lvm2/files/lvm2-stop.sh-2.02.28-r5
+++ /dev/null
@@ -1,65 +0,0 @@
-# /lib/rcscripts/addons/lvm-stop.sh
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm2-stop.sh-2.02.28-r5,v 1.1 2008/01/30 14:37:06 cardoe Exp $
-
-# Stop LVM2
-if [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvdisplay ] && \
- [ -x /sbin/vgdisplay ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
-then
- einfo "Shutting down the Logical Volume Manager"
- # If these commands fail it is not currently an issue
- # as the system is going down anyway based on the current LVM
- # functionality as described in this forum thread
- #https://www.redhat.com/archives/linux-lvm/2001-May/msg00523.html
-
- LOGICAL_VOLUMES=`lvdisplay |grep "LV Name"|sed -e 's/.*LV Name\s*\(.*\)/\1/'|sort`
- VOLUME_GROUPS=`vgdisplay |grep "VG Name"|sed -e 's/.*VG Name\s*\(.*\)/\1/'|sort`
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|awk '{print $3}'`
- if [ "${LV_IS_ACTIVE}" = 0 ]
- then
- ebegin " Shutting Down logical volume: ${x} "
- lvchange -an --ignorelockingfailure -P ${x} >/dev/null
- eend $?
- fi
- done
-
- for x in ${VOLUME_GROUPS}
- do
- VG_HAS_ACTIVE_LV=`vgdisplay ${x}|grep "Open LV"|sed -e 's/.*Open LV\s*\(.*\)/\1/'`
- if [ "${VG_HAS_ACTIVE_LV}" = 0 ]
- then
- ebegin " Shutting Down volume group: ${x} "
- vgchange -an --ignorelockingfailure -P ${x} >/dev/null
- eend
- fi
- done
-
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|sed -e 's/.*# open\s*\(.*\)/\1/'`
- if [ "${LV_IS_ACTIVE}" = 1 ]
- then
- if type mountinfo >/dev/null 2>&1; then
- ROOT_DEVICE=`mountinfo -t /`
- else
- ROOT_DEVICE=`mount|grep -v 'rootfs'|grep " / "|awk '{print $1}'`
- fi
-
- MOUNTED_DEVICE=${x}
- [ -L ${ROOT_DEVICE} ] && ROOT_DEVICE="`/bin/readlink ${ROOT_DEVICE}`"
- [ -L ${x} ] && MOUNTED_DEVICE="`/bin/readlink ${x}`"
- if [ ! ${ROOT_DEVICE} = ${MOUNTED_DEVICE} ]
- then
- ewarn " Unable to shutdown: ${x} "
- fi
- fi
- done
- einfo "Finished Shutting down the Logical Volume Manager"
-fi
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-stop.sh-2.02.37 b/sys-fs/lvm2/files/lvm2-stop.sh-2.02.37
deleted file mode 100755
index fccc7f9ef699..000000000000
--- a/sys-fs/lvm2/files/lvm2-stop.sh-2.02.37
+++ /dev/null
@@ -1,65 +0,0 @@
-# /lib/rcscripts/addons/lvm-stop.sh
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm2-stop.sh-2.02.37,v 1.1 2008/06/08 19:54:05 robbat2 Exp $
-
-# Stop LVM2
-if [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvdisplay ] && \
- [ -x /sbin/vgdisplay ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
-then
- einfo "Shutting down the Logical Volume Manager"
- # If these commands fail it is not currently an issue
- # as the system is going down anyway based on the current LVM
- # functionality as described in this forum thread
- #https://www.redhat.com/archives/linux-lvm/2001-May/msg00523.html
-
- LOGICAL_VOLUMES=`lvdisplay |grep "LV Name"|sed -e 's/.*LV Name\s*\(.*\)/\1/'|sort`
- VOLUME_GROUPS=`vgdisplay |grep "VG Name"|sed -e 's/.*VG Name\s*\(.*\)/\1/'|sort`
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|awk '{print $3}'`
- if [ "${LV_IS_ACTIVE}" = 0 ]
- then
- ebegin " Shutting Down logical volume: ${x} "
- lvchange -an --ignorelockingfailure -P ${x} >/dev/null
- eend $?
- fi
- done
-
- for x in ${VOLUME_GROUPS}
- do
- VG_HAS_ACTIVE_LV=`vgdisplay ${x}|grep "Open LV"|sed -e 's/.*Open LV\s*\(.*\)/\1/'`
- if [ "${VG_HAS_ACTIVE_LV}" = 0 ]
- then
- ebegin " Shutting Down volume group: ${x} "
- vgchange -an --ignorelockingfailure -P ${x} >/dev/null
- eend
- fi
- done
-
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|sed -e 's/.*# open\s*\(.*\)/\1/'`
- if [ "${LV_IS_ACTIVE}" = 1 ]
- then
- if type mountinfo >/dev/null 2>&1; then
- ROOT_DEVICE=`mountinfo -t /`
- else
- ROOT_DEVICE=`mount | awk '{if($3 == "/" && $1 != "rootfs"){print $1}}'`
- fi
-
- MOUNTED_DEVICE=${x}
- [ -L ${ROOT_DEVICE} ] && ROOT_DEVICE="`/bin/readlink ${ROOT_DEVICE}`"
- [ -L ${x} ] && MOUNTED_DEVICE="`/bin/readlink ${x}`"
- if [ ! ${ROOT_DEVICE} = ${MOUNTED_DEVICE} ]
- then
- ewarn " Unable to shutdown: ${x} "
- fi
- fi
- done
- einfo "Finished Shutting down the Logical Volume Manager"
-fi
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-stop.sh-2.02.49-r1 b/sys-fs/lvm2/files/lvm2-stop.sh-2.02.49-r1
deleted file mode 100755
index d3252e5c71c2..000000000000
--- a/sys-fs/lvm2/files/lvm2-stop.sh-2.02.49-r1
+++ /dev/null
@@ -1,67 +0,0 @@
-# /lib/rcscripts/addons/lvm-stop.sh
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm2-stop.sh-2.02.49-r1,v 1.1 2009/07/24 23:37:37 robbat2 Exp $
-
-locking="--lock-dir /dev/.lvm/"
-
-# Stop LVM2
-if [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvdisplay ] && \
- [ -x /sbin/vgdisplay ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
-then
- einfo "Shutting down the Logical Volume Manager"
- # If these commands fail it is not currently an issue
- # as the system is going down anyway based on the current LVM
- # functionality as described in this forum thread
- #https://www.redhat.com/archives/linux-lvm/2001-May/msg00523.html
-
- LOGICAL_VOLUMES=`/sbin/lvdisplay ${locking} |grep "LV Name"|sed -e 's/.*LV Name\s*\(.*\)/\1/'|sort`
- VOLUME_GROUPS=`/sbin/vgdisplay ${locking} |grep "VG Name"|sed -e 's/.*VG Name\s*\(.*\)/\1/'|sort`
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`/sbin/lvdisplay ${locking} ${x}|grep "# open"|awk '{print $3}'`
- if [ "${LV_IS_ACTIVE}" = 0 ]
- then
- ebegin " Shutting Down logical volume: ${x} "
- /sbin/lvchange -an ${locking} -P ${x} >/dev/null
- eend $?
- fi
- done
-
- for x in ${VOLUME_GROUPS}
- do
- VG_HAS_ACTIVE_LV=`/sbin/vgdisplay ${locking} ${x}|grep "Open LV"|sed -e 's/.*Open LV\s*\(.*\)/\1/'`
- if [ "${VG_HAS_ACTIVE_LV}" = 0 ]
- then
- ebegin " Shutting Down volume group: ${x} "
- /sbin/vgchange -an ${locking} -P ${x} >/dev/null
- eend
- fi
- done
-
- for x in ${LOGICAL_VOLUMES}
- do
- LV_IS_ACTIVE=`/sbin/lvdisplay ${locking} ${x}|grep "# open"|sed -e 's/.*# open\s*\(.*\)/\1/'`
- if [ "${LV_IS_ACTIVE}" = 1 ]
- then
- if type mountinfo >/dev/null 2>&1; then
- ROOT_DEVICE=`mountinfo -t /`
- else
- ROOT_DEVICE=`mount | awk '{if($3 == "/" && $1 != "rootfs"){print $1}}'`
- fi
-
- MOUNTED_DEVICE=${x}
- [ -L ${ROOT_DEVICE} ] && ROOT_DEVICE="`/bin/readlink ${ROOT_DEVICE}`"
- [ -L ${x} ] && MOUNTED_DEVICE="`/bin/readlink ${x}`"
- if [ ! ${ROOT_DEVICE} = ${MOUNTED_DEVICE} ]
- then
- ewarn " Unable to shutdown: ${x} "
- fi
- fi
- done
- einfo "Finished Shutting down the Logical Volume Manager"
-fi
-
-# vim:ts=4