mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-23 21:35:29 +03:00
Try to force remove dm devices in after test fails.
This commit is contained in:
parent
2df71f33ac
commit
cf332f746e
@ -90,6 +90,27 @@ teardown_devs() {
|
|||||||
rm -f DEVICES # devs is set in prepare_devs()
|
rm -f DEVICES # devs is set in prepare_devs()
|
||||||
rm -f LOOP
|
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
|
# Remove any loop devices that failed to get torn down if earlier tests aborted
|
||||||
STRAY_LOOPS=`losetup -a | grep $COMMON_PREFIX | cut -d: -f1`
|
STRAY_LOOPS=`losetup -a | grep $COMMON_PREFIX | cut -d: -f1`
|
||||||
if test -n "$STRAY_LOOPS"; then
|
if test -n "$STRAY_LOOPS"; then
|
||||||
|
Loading…
Reference in New Issue
Block a user