diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2012-03-23 09:41:20 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2012-03-23 09:41:20 +0000 |
commit | 86bdfb3722adbfde658dfe696da791fac856c19e (patch) | |
tree | 66a3553a22c898a4e610fc452409001ccb6d4a97 /test | |
parent | 467f454c09ca34e261a6c19b3566154f4393783e (diff) | |
download | lvm2-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.sh | 18 |
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 . |