more layer 3 fixes

This commit is contained in:
Tobias Powalowski 2009-07-10 07:54:47 +02:00
parent 96be0478db
commit a6b6208b1c

View file

@ -229,7 +229,7 @@ finddisks() {
# dmraid devices # dmraid devices
if [ -d /dev/mapper ] ; then if [ -d /dev/mapper ] ; then
for fakeraid in $(dmraid -s -c); do for fakeraid in $(dmraid -s -c); do
if ! [ "$(echo $fakeraid | grep '^no')" ]; then if [ "$(echo $fakeraid | grep '_')" ]; then
echo "/dev/mapper/$fakeraid" echo "/dev/mapper/$fakeraid"
[ "$1" ] && echo $1 [ "$1" ] && echo $1
fi fi
@ -265,9 +265,9 @@ findpartitions() {
fi fi
done done
done done
# mapped devices, only show dmraid partitions, remove part of encrypted devices, remove part of lvm, remove part ot raid! # device mapper devices, only show dmraid partitions, remove part of encrypted devices, remove part of lvm, remove part ot raid!
for devpath in $(ls /dev/mapper 2>/dev/null | grep -v control); do for devpath in $(ls /dev/mapper 2>/dev/null | grep -v control); do
k="$(cryptsetup status $devpath 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')" k="$(blkid -c=/dev/null /dev/mapper/$devpath 2>/dev/null | grep "TYPE=\"crypt_LUKS\"" | sed -e 's#:.*##g')"
partofcrypt="$partofcrypt $k" partofcrypt="$partofcrypt $k"
done done
for devpath in $(ls /dev/mapper 2>/dev/null | grep -v control); do for devpath in $(ls /dev/mapper 2>/dev/null | grep -v control); do
@ -288,10 +288,8 @@ findpartitions() {
for devpath in $(ls -d /dev/md* 2>/dev/null | grep md[0-9]); do for devpath in $(ls -d /dev/md* 2>/dev/null | grep md[0-9]); do
# exlude md partitions which are part of lvm # exlude md partitions which are part of lvm
if ! [ "$(blkid -c=/dev/null $devpath | grep "TYPE=\"lvm2pv\"")" -o "$(blkid -c=/dev/null $devpath | grep "TYPE=\"crypt_LUKS\"")" ]; then if ! [ "$(blkid -c=/dev/null $devpath | grep "TYPE=\"lvm2pv\"")" -o "$(blkid -c=/dev/null $devpath | grep "TYPE=\"crypt_LUKS\"")" ]; then
#if [ "$(cat /proc/mdstat 2>/dev/null | grep -w $(basename $devpath))" -a ! "$(cat /proc/mdstat 2>/dev/null | grep -w $(basename $devpath) | grep "dm-")" ]; then
echo "$devpath" echo "$devpath"
[ "$1" ] && echo $1 [ "$1" ] && echo $1
#fi
fi fi
done done
# inlcude cciss controllers # inlcude cciss controllers
@ -839,7 +837,6 @@ _raid()
ALREADYINUSE="" ALREADYINUSE=""
for i in $(ls /dev/mapper/* 2>/dev/null | grep -v control); do for i in $(ls /dev/mapper/* 2>/dev/null | grep -v control); do
cryptsetup status $i | grep "device:.*/dev/md" && ALREADYINUSE="$ALREADYINUSE $i" cryptsetup status $i | grep "device:.*/dev/md" && ALREADYINUSE="$ALREADYINUSE $i"
blkid -c=/dev/null $i | grep "TYPE=\"mdraid\"" && ALREADYINUSE="$ALREADYINUSE $i"
done done
for i in $ALREADYINUSE; do for i in $ALREADYINUSE; do
PARTS=$(echo $PARTS | sed -e "s#$i\ _##g") PARTS=$(echo $PARTS | sed -e "s#$i\ _##g")
@ -928,7 +925,6 @@ _raidpartitions()
ALREADYINUSE="" ALREADYINUSE=""
for i in $(ls /dev/mapper/*); do for i in $(ls /dev/mapper/*); do
cryptsetup status $i | grep "device:.*/dev/md*" && ALREADYINUSE="$ALREADYINUSE $i" cryptsetup status $i | grep "device:.*/dev/md*" && ALREADYINUSE="$ALREADYINUSE $i"
blkid -c=/dev/null $i | grep "TYPE=\"mdraid\"" && ALREADYINUSE="$ALREADYINUSE $i"
done done
for i in $ALREADYINUSE; do for i in $ALREADYINUSE; do
PARTS=$(echo $PARTS | sed -e "s#$i\ _##g") PARTS=$(echo $PARTS | sed -e "s#$i\ _##g")
@ -1097,21 +1093,25 @@ _createpv()
ALREADYINUSE="" ALREADYINUSE=""
# skip volume devices # skip volume devices
for i in $(ls /dev/mapper/* | grep -v control); do for i in $(ls /dev/mapper/* | grep -v control); do
for k in $(vgs -o vg_name --noheading); do [ "$(lvs /dev/mapper/$i 2>/dev/null)" ] && ALREADYINUSE="$ALREADYINUSE $i"
echo $i | grep -q "/dev/mapper/$k-" && ALREADYINUSE="$ALREADYINUSE $i"
done
done done
# skip already encrypted volume devices # skip already encrypted volume devices
for devpath in $(ls /dev/mapper/ 2>/dev/null | grep -v control); do for devpath in $(ls /dev/mapper/ 2>/dev/null | grep -v control); do
k="$(cryptsetup status $devpath 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')" realdevice="$(cryptsetup status $devpath 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')"
### TODO! show fakeraid encrypted devices! [ "$(lvs $realdevice 2>/dev/null)" ] && ALREADYINUSE="$ALREADYINUSE /dev/mapper/$devpath"
#for fakeraid in $(dmraid -s -c); do done
# if [ "$(echo $k | grep $fakeraid)" ]; then # skip md devices, which already have lvm devices!
# ! [ "$k" = "" ] && ALREADYINUSE="$ALREADYINUSE /dev/mapper/$k" for i in $PARTS; do
# else mdcheck="$(echo $i | sed -e 's#/dev/##g')"
! [ "$k" = "" ] && ALREADYINUSE="$ALREADYINUSE /dev/mapper/$devpath" if ! [ "$(find /sys/block/$mdcheck/ -name 'dm*' 2>/dev/null)" = "" ]; then
# fi for k in $(find /sys/block/$mdcheck/ -name 'dm*'); do
#done # check encrypted volume
realdevice="$(cryptsetup status $(cat $k/dm/name) 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')"
[ "$(lvs $realdevice 2>/dev/null)" ] && ALREADYINUSE="$ALREADYINUSE $i"
# check on normal lvs
[ "$(lvs /dev/mapper/$(cat $k/dm/name) 2>/dev/null)" ] && ALREADYINUSE="$ALREADYINUSE $i"
done
fi
done done
for i in $ALREADYINUSE; do for i in $ALREADYINUSE; do
PARTS=$(echo $PARTS | sed -e "s#$i\ _##g") PARTS=$(echo $PARTS | sed -e "s#$i\ _##g")
@ -1369,6 +1369,16 @@ _luks()
fi fi
fi fi
done done
# skip md devices, which already has encrypted devices!
### TODO check on volume devices
for i in $PARTS; do
mdcheck="$(echo $i | sed -e 's#/dev/##g')"
if ! [ "$(find /sys/block/$mdcheck/ -name 'dm*')" = "" ]; then
for k in $(find /sys/block/$mdcheck/ -name 'dm*'); do
cryptsetup status $(cat $k/dm/name) > /dev/null && ALREADYINUSE="$ALREADYINUSE $i"
done
fi
done
for i in $ALREADYINUSE; do for i in $ALREADYINUSE; do
PARTS=$(echo $PARTS | sed -e "s#$i\ _##g") PARTS=$(echo $PARTS | sed -e "s#$i\ _##g")
done done