summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-03-23 09:41:20 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-03-23 09:41:20 +0000
commit86bdfb3722adbfde658dfe696da791fac856c19e (patch)
tree66a3553a22c898a4e610fc452409001ccb6d4a97 /test
parent467f454c09ca34e261a6c19b3566154f4393783e (diff)
downloadlvm2-86bdfb3722adbfde658dfe696da791fac856c19e.tar.gz
lvm2-86bdfb3722adbfde658dfe696da791fac856c19e.tar.xz
lvm2-86bdfb3722adbfde658dfe696da791fac856c19e.zip
Improve teardown_devs
Try to avoid start of dmeventd during vgremove if the code has any bug inside.
Diffstat (limited to 'test')
-rw-r--r--test/lib/aux.sh18
1 files changed, 10 insertions, 8 deletions
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 2a535f17..a2579701 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -102,11 +102,6 @@ teardown_devs_prefixed() {
fi
fi
- if test "$stray" -eq 0; then
- dmsetup table | not egrep -q "$vg|$vg1|$vg2|$vg3|$vg4" || \
- vgremove -ff $vg $vg1 $vg2 $vg3 $vg4 &>/dev/null || rm -f debug.log
- fi
-
# Remove devices, start with closed (sorted by open count)
local remfail=no
local need_udev_wait=0
@@ -166,7 +161,14 @@ teardown_devs() {
teardown() {
echo -n "## teardown..."
- test -f LOCAL_CLVMD && {
+ dmsetup table | not egrep -q "$vg|$vg1|$vg2|$vg3|$vg4" || {
+ # Avoid activation of dmeventd if there is no pid
+ cfg=$(test -s LOCAL_DMEVENTD || echo "--config 'activation { monitoring = 0 }'")
+ vgremove -ff $cfg \
+ $vg $vg1 $vg2 $vg3 $vg4 &>/dev/null || rm -f debug.log
+ }
+
+ test -s LOCAL_CLVMD && {
kill -INT "$(cat LOCAL_CLVMD)"
test -z "$LVM_VALGRIND_CLVMD" || sleep 1
sleep .1
@@ -176,8 +178,8 @@ teardown() {
echo -n .
pgrep dmeventd || true
- test -f LOCAL_DMEVENTD && kill -9 $(cat LOCAL_DMEVENTD) || true
- test -f LOCAL_LVMETAD && kill -9 $(cat LOCAL_LVMETAD) || true
+ test ! -s LOCAL_DMEVENTD || kill -9 "$(cat LOCAL_DMEVENTD)" || true
+ test ! -s LOCAL_LVMETAD || kill -9 "$(cat LOCAL_LVMETAD)" || true
echo -n .