public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2 ./WHATS_NEW test/lib/aux.sh
@ 2011-06-30 9:15 agk
0 siblings, 0 replies; only message in thread
From: agk @ 2011-06-30 9:15 UTC (permalink / raw)
To: lvm-devel, lvm2-cvs
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk@sourceware.org 2011-06-30 09:15:53
Modified files:
. : WHATS_NEW
test/lib : aux.sh
Log message:
teardown stray filesystems too
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2031&r2=1.2032
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/lib/aux.sh.diff?cvsroot=lvm2&r1=1.23&r2=1.24
--- LVM2/WHATS_NEW 2011/06/29 17:05:53 1.2031
+++ LVM2/WHATS_NEW 2011/06/30 09:15:53 1.2032
@@ -1,5 +1,6 @@
Version 2.02.86 -
=================================
+ Teardown any stray devices with $COMMON_PREFIX during test runs.
Reinstate correct permissions when creating mirrors. [2.02.85]
Append 'm' attribute to pv_attr for missing PVs.
Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd.
--- LVM2/test/lib/aux.sh 2011/06/30 09:08:22 1.23
+++ LVM2/test/lib/aux.sh 2011/06/30 09:15:53 1.24
@@ -90,34 +90,47 @@
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
+ # Attempt to remove any loop devices that failed to get torn down if earlier tests aborted
+ test -n "$COMMON_PREFIX" && {
+ # Resume any linears to be sure we do not deadlock
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
+ # FIXME: only those really suspended
+ echo dmsetup resume $dm
+ dmsetup resume $dm || true
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
- echo "Removing stray loop devices containing $COMMON_PREFIX:"
- losetup -a | grep $COMMON_PREFIX
- losetup -d $STRAY_LOOPS 2>/dev/null || true
- fi
+ STRAY_MOUNTS=`mount | grep $COMMON_PREFIX | cut -d\ -f1`
+ if test -n "$STRAY_MOUNTS"; then
+ echo "Removing stray mounted devices containing $COMMON_PREFIX:"
+ mount | grep $COMMON_PREFIX
+ umount -fl $STRAY_MOUNTS || true
+ sleep 2
+ fi
+
+ init_udev_transaction
+ NUM_REMAINING_DEVS=999
+ while NUM_DEVS=`dmsetup table | grep ^$COMMON_PREFIX | wc -l` && \
+ test $NUM_DEVS -lt $NUM_REMAINING_DEVS -a $NUM_DEVS -ne 0; do
+ echo "Removing $NUM_DEVS stray mapped devices with names beginning with $COMMON_PREFIX:"
+ STRAY_DEVS=$(dmsetup table | sed 's/:.*//' | grep $COMMON_PREFIX | cut -d' ' -f 1)
+ dmsetup info -c | grep ^$COMMON_PREFIX
+ for dm in $STRAY_DEVS ; do
+ echo dmsetup remove $dm
+ dmsetup remove $dm || true
+ done
+ NUM_REMAINING_DEVS=$NUM_DEVS
+ done
+ finish_udev_transaction
+ udev_wait
+
+ STRAY_LOOPS=`losetup -a | grep $COMMON_PREFIX | cut -d: -f1`
+ if test -n "$STRAY_LOOPS"; then
+ echo "Removing stray loop devices containing $COMMON_PREFIX:"
+ losetup -a | grep $COMMON_PREFIX
+ losetup -d $STRAY_LOOPS || true
+ fi
+ }
}
teardown() {
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-06-30 9:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-30 9:15 LVM2 ./WHATS_NEW test/lib/aux.sh agk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).