[lvm-devel] LVM2/test/lib aux.sh
mbroz at sourceware.org
mbroz at sourceware.org
Thu Jun 30 08:50:11 UTC 2011
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: mbroz at sourceware.org 2011-06-30 08:50:10
Modified files:
test/lib : aux.sh
Log message:
Try to force remove dm devices in after test fails.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/lib/aux.sh.diff?cvsroot=lvm2&r1=1.21&r2=1.22
--- LVM2/test/lib/aux.sh 2011/06/30 01:17:37 1.21
+++ LVM2/test/lib/aux.sh 2011/06/30 08:50:10 1.22
@@ -90,6 +90,27 @@
rm -f DEVICES # devs is set in prepare_devs()
rm -f LOOP
+ # Try to remove test devices
+ # resume any linears to be sure we do not deadlock
+ STRAY_DEVS=$(dmsetup table | grep linear | sed 's/:.*//' | grep $COMMON_PREFIX | cut -d' ' -f 1)
+ for dm in $STRAY_DEVS ; do
+ # FIXME: only those really suspended
+ dmsetup resume $dm 2>/dev/null
+ done
+
+ # Now try to remove devices
+ finish=0
+ while [ $finish -eq 0 ] ; do
+ finish=1
+ STRAY_DEVS=$(dmsetup table | sed 's/:.*//' | grep $COMMON_PREFIX | cut -d' ' -f 1)
+ for dm in $STRAY_DEVS ; do
+ echo "Trying to remove stalled $dm"
+ dmsetup remove $dm 2>/dev/null
+ # Sucessful remove means repeat the loop once more
+ [ $? -eq 0 ] && finish=0
+ done
+ done
+
# Remove any loop devices that failed to get torn down if earlier tests aborted
STRAY_LOOPS=`losetup -a | grep $COMMON_PREFIX | cut -d: -f1`
if test -n "$STRAY_LOOPS"; then
More information about the lvm-devel
mailing list