Whamcloud - gitweb
LU-6056 tests: fix -hsm wrong usage of bash's local built-in
[fs/lustre-release.git] / lustre / tests / sanity-hsm.sh
index f87ef93..28a8d02 100755 (executable)
@@ -511,17 +511,19 @@ needclients() {
 
 path2fid() {
        $LFS path2fid $1 | tr -d '[]'
+       return ${PIPESTATUS[0]}
 }
 
 get_hsm_flags() {
        local f=$1
        local u=$2
+       local st
 
        if [[ $u == "user" ]]; then
-               local st=$($RUNAS $LFS hsm_state $f)
+               st=$($RUNAS $LFS hsm_state $f)
        else
-               local st=$($LFS hsm_state $f)
                u=root
+               st=$($LFS hsm_state $f)
        fi
 
        [[ $? == 0 ]] || error "$LFS hsm_state $f failed (run as $u)"
@@ -532,7 +534,8 @@ get_hsm_flags() {
 
 get_hsm_archive_id() {
        local f=$1
-       local st=$($LFS hsm_state $f)
+       local st
+       st=$($LFS hsm_state $f)
        [[ $? == 0 ]] || error "$LFS hsm_state $f failed"
 
        local ar=$(echo $st | grep "archive_id" | cut -f5 -d" " |
@@ -561,7 +564,7 @@ file_creation_failure() {
        local f=$2
        local err=$3
 
-       df $MOUNT $MOUNT2
+       df $MOUNT $MOUNT2 >&2
        error "cannot create $f with $cmd, status=$err"
 }
 
@@ -693,7 +696,7 @@ wait_request_state() {
        local cmd="$LCTL get_param -n ${MDT_PREFIX}${mdtidx}.hsm.actions"
        cmd+=" | awk '/'$fid'.*action='$request'/ {print \\\$13}' | cut -f2 -d="
 
-       wait_result $mds "$cmd" $state 100 ||
+       wait_result $mds "$cmd" $state 200 ||
                error "request on $fid is not $state on $mds"
 }
 
@@ -1152,7 +1155,8 @@ test_12c() {
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
        $LFS setstripe -c 2 $f
-       local fid=$(make_large_for_striping $f)
+       local fid
+       fid=$(make_large_for_striping $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        local FILE_CRC=$(md5sum $f)
@@ -2029,7 +2033,8 @@ test_26() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2068,7 +2073,8 @@ test_27b() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2089,7 +2095,8 @@ test_28() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2269,7 +2276,8 @@ test_31b() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2292,7 +2300,8 @@ test_31c() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress_aligned $f)
+       local fid
+       fid=$(make_large_for_progress_aligned $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2315,7 +2324,8 @@ test_33() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2381,7 +2391,8 @@ test_34() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2416,7 +2427,8 @@ test_35() {
 
        local f=$DIR/$tdir/$tfile
        local f1=$DIR/$tdir/$tfile-1
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        local fid1=$(copy_file /etc/passwd $f1)
@@ -2454,7 +2466,8 @@ test_36() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -2649,7 +2662,8 @@ test_56() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f ||
@@ -2772,7 +2786,8 @@ test_60() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        local mdtidx=0
@@ -2880,7 +2895,8 @@ test_71() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f ||
@@ -3157,7 +3173,8 @@ test_104() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        # if cdt is on, it can serve too quickly the request
@@ -3470,7 +3487,8 @@ test_200() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_cancel $f)
+       local fid
+       fid=$(make_large_for_cancel $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        # test with cdt on is made in test_221
@@ -3513,7 +3531,8 @@ test_202() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
@@ -3560,7 +3579,8 @@ test_221() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_cancel $f)
+       local fid
+       fid=$(make_large_for_cancel $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        changelog_setup
@@ -3668,7 +3688,8 @@ test_223b() {
        mkdir -p $DIR/$tdir
 
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        changelog_setup
@@ -3729,7 +3750,8 @@ test_225() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_progress $f)
+       local fid
+       fid=$(make_large_for_progress $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        changelog_setup
@@ -3933,7 +3955,8 @@ test_251() {
 
        mkdir -p $DIR/$tdir
        local f=$DIR/$tdir/$tfile
-       local fid=$(make_large_for_cancel $f)
+       local fid
+       fid=$(make_large_for_cancel $f)
        [ $? != 0 ] && skip "not enough free space" && return
 
        cdt_disable