Whamcloud - gitweb
Revert "LU-3319 procfs: move osp proc handling to seq_files"
[fs/lustre-release.git] / lustre / scripts / lustre
index 55c6601..eeb5941 100644 (file)
@@ -75,7 +75,6 @@ start_zfs_services ()
 stop_devices ()
 {
        local labels=$*
-       local result=0
        local label devtype
        for label in $labels; do
                devtype=`$LDEV -t $label`
@@ -102,10 +101,6 @@ import_zpool ()
                args="$args -c $cache"
        elif [ -n "$ZPOOL_IMPORT_DIR" ] ; then
                args="$args -d $ZPOOL_IMPORT_DIR"
-       elif [ -d "/dev/disk/by-vdev" ] ; then
-               args="$args -d /dev/disk/by-vdev"
-       elif [ -d "/dev/mapper" ] ; then
-               args="$args -d /dev/mapper"
        fi
 
        if zpool status $pool >/dev/null 2>&1 ; then
@@ -114,6 +109,9 @@ import_zpool ()
                zpool import $pool $args 2>/dev/null
                result=$?
        fi
+       if [ $result -ne 0 ] ; then
+               echo "Unexpected return code from import of pool $pool: $result"
+       fi
        return $result
 }
 
@@ -500,6 +498,7 @@ stop_services ()
 {
        local labels=$*
        local result=0
+       local pids=""
        local dir dev label
 
        for label in $labels; do
@@ -514,9 +513,22 @@ stop_services ()
                        # no error
                        continue
                fi
+
                echo "Unmounting $dir"
-               umount $dir || result=2
+               umount $dir &
+
+               if [ -z "$pids" ]; then
+                       pids="$!"
+               else
+                       pids="$pids $!"
+               fi
+       done
+
+       # wait for all umount processes to complete, report any errors
+       for pid in $pids; do
+               wait $pid || result=2
        done
+
        # double check!
        for label in $labels; do
                if mountpt_is_active $label; then