]> sourceware.org Git - lvm2.git/commitdiff
Improve teardown_devs
authorZdenek Kabelac <zkabelac@redhat.com>
Fri, 23 Mar 2012 09:41:20 +0000 (09:41 +0000)
committerZdenek Kabelac <zkabelac@redhat.com>
Fri, 23 Mar 2012 09:41:20 +0000 (09:41 +0000)
Try to avoid start of dmeventd during vgremove if the code has any bug
inside.

test/lib/aux.sh

index 2a535f171825eda955398e6a0168eaa735f87022..a2579701dfe6e81657a5fc9e0322022772ffeac0 100644 (file)
@@ -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 .
 
This page took 0.030541 seconds and 5 git commands to generate.