Whamcloud - gitweb
LU-1753 test: use large resend count for 118i in sanity
[fs/lustre-release.git] / lustre / tests / sanity.sh
index 7a00d4d..7dafbe7 100644 (file)
@@ -2536,7 +2536,23 @@ run_test 39k "write, utime, close, stat ========================"
 # this should be set to future
 TEST_39_ATIME=`date -d "1 year" +%s`
 
+is_sles11()                                            # LU-1783
+{
+       if [ -r /etc/SuSE-release ]
+       then
+               local vers=`grep VERSION /etc/SuSE-release | awk '{print $3}'`
+               local patchlev=`grep PATCHLEVEL /etc/SuSE-release \
+                       | awk '{print $3}'`
+               if [ $vers -eq 11 ] && [ $patchlev -eq 1 ]
+               then
+                       return 0
+               fi
+       fi
+       return 1
+}
+
 test_39l() {
+       is_sles11 && skip "SLES 11 SP1" && return       # LU-1783
        remote_mds_nodsh && skip "remote MDS with nodsh" && return
        local atime_diff=$(do_facet $SINGLEMDS lctl get_param -n mdd.*.atime_diff)
 
@@ -6244,6 +6260,8 @@ test_118h() {
 }
 run_test 118h "Verify timeout in handling recoverables errors  =========="
 
+[ "$SLOW" = "no" ] && [ -n "$OLD_RESENDCOUNT" ] && set_resend_count $OLD_RESENDCOUNT
+
 test_118i() {
        remote_ost_nodsh && skip "remote OST with nodsh" && return
 
@@ -6282,6 +6300,8 @@ test_118i() {
 }
 run_test 118i "Fix error before timeout in recoverable error  =========="
 
+[ "$SLOW" = "no" ] && set_resend_count 4
+
 test_118j() {
        remote_ost_nodsh && skip "remote OST with nodsh" && return
 
@@ -7040,18 +7060,26 @@ cleanup_130() {
 }
 
 test_130a() {
-       filefrag_op=$(filefrag -e 2>&1 | grep "invalid option")
-       [ -n "$filefrag_op" ] && skip "filefrag does not support FIEMAP" && return
+       local filefrag_op=$(filefrag -e 2>&1 | grep "invalid option")
+       [ -n "$filefrag_op" ] && skip_env "filefrag does not support FIEMAP" &&
+               return
 
        trap cleanup_130 EXIT RETURN
 
        local fm_file=$DIR/$tfile
        $SETSTRIPE -S 65536 -c 1 $fm_file || error "setstripe on $fm_file"
-       dd if=/dev/zero of=$fm_file bs=65536 count=1 || error "dd failed for $fm_file"
+       dd if=/dev/zero of=$fm_file bs=65536 count=1 ||
+               error "dd failed for $fm_file"
 
-       filefrag -ves $fm_file || error "filefrag $fm_file failed"
-       filefrag_op=`filefrag -ve $fm_file | grep -A 100 "ext:" | grep -v "ext:" | grep -v "found"`
+       # LU-1795: test filefrag/FIEMAP once, even if unsupported
+       filefrag -ves $fm_file
+       RC=$?
+       [ "$(facet_fstype ost$(($($GETSTRIPE -i $fm_file) + 1)))" = "zfs" ] &&
+               skip "ORI-366/LU-1941: FIEMAP unimplemented on ZFS" && return
+       [ $RC != 0 ] && error "filefrag $fm_file failed"
 
+       filefrag_op=$(filefrag -ve $fm_file | grep -A 100 "ext:" |
+                     grep -v "ext:" | grep -v "found")
        lun=$($GETSTRIPE -i $fm_file)
 
        start_blk=`echo $filefrag_op | cut -d: -f2 | cut -d. -f1`
@@ -7082,21 +7110,28 @@ test_130a() {
 run_test 130a "FIEMAP (1-stripe file)"
 
 test_130b() {
-       [ "$OSTCOUNT" -lt "2" ] && skip_env "skipping FIEMAP on 2-stripe file test" && return
+       [ "$OSTCOUNT" -lt "2" ] &&
+               skip_env "skipping FIEMAP on 2-stripe file test" && return
 
-       filefrag_op=$(filefrag -e 2>&1 | grep "invalid option")
-       [ -n "$filefrag_op" ] && skip "filefrag does not support FIEMAP" && return
+       local filefrag_op=$(filefrag -e 2>&1 | grep "invalid option")
+       [ -n "$filefrag_op" ] && skip_env "filefrag does not support FIEMAP" &&
+               return
 
        trap cleanup_130 EXIT RETURN
 
        local fm_file=$DIR/$tfile
        $SETSTRIPE -S 65536 -c 2 $fm_file || error "setstripe on $fm_file"
-       dd if=/dev/zero of=$fm_file bs=1M count=2 || error "dd failed on $fm_file"
+       [ "$(facet_fstype ost$(($($GETSTRIPE -i $fm_file) + 1)))" = "zfs" ] &&
+               skip "ORI-366/LU-1941: FIEMAP unimplemented on ZFS" && return
+
+       dd if=/dev/zero of=$fm_file bs=1M count=2 ||
+               error "dd failed on $fm_file"
 
        filefrag -ves $fm_file || error "filefrag $fm_file failed"
-       filefrag_op=`filefrag -ve $fm_file | grep -A 100 "ext:" | grep -v "ext:" | grep -v "found"`
+       filefrag_op=$(filefrag -ve $fm_file | grep -A 100 "ext:" |
+                     grep -v "ext:" | grep -v "found")
 
-       last_lun=`echo $filefrag_op | cut -d: -f5`
+       last_lun=$(echo $filefrag_op | cut -d: -f5)
 
        IFS=$'\n'
        tot_len=0
@@ -7131,15 +7166,20 @@ test_130b() {
 run_test 130b "FIEMAP (2-stripe file)"
 
 test_130c() {
-       [ "$OSTCOUNT" -lt "2" ] && skip_env "skipping FIEMAP on 2-stripe file with hole test" && return
+       [ "$OSTCOUNT" -lt "2" ] &&
+               skip_env "skipping FIEMAP on 2-stripe file" && return
 
        filefrag_op=$(filefrag -e 2>&1 | grep "invalid option")
-       [ -n "$filefrag_op" ] && skip "filefrag does not support FIEMAP" && return
+       [ -n "$filefrag_op" ] && skip "filefrag does not support FIEMAP" &&
+               return
 
        trap cleanup_130 EXIT RETURN
 
        local fm_file=$DIR/$tfile
        $SETSTRIPE -S 65536 -c 2 $fm_file || error "setstripe on $fm_file"
+       [ "$(facet_fstype ost$(($($GETSTRIPE -i $fm_file) + 1)))" = "zfs" ] &&
+               skip "ORI-366/LU-1941: FIEMAP unimplemented on ZFS" && return
+
        dd if=/dev/zero of=$fm_file seek=1 bs=1M count=1 || error "dd failed on $fm_file"
 
        filefrag -ves $fm_file || error "filefrag $fm_file failed"
@@ -7195,6 +7235,8 @@ test_130d() {
 
        local fm_file=$DIR/$tfile
        $SETSTRIPE -S 65536 -c $OSTCOUNT $fm_file||error "setstripe on $fm_file"
+       [ "$(facet_fstype ost$(($($GETSTRIPE -i $fm_file) + 1)))" = "zfs" ] &&
+               skip "ORI-366/LU-1941: FIEMAP unimplemented on ZFS" && return
        dd if=/dev/zero of=$fm_file bs=1M count=$OSTCOUNT || error "dd failed on $fm_file"
 
        filefrag -ves $fm_file || error "filefrag $fm_file failed"
@@ -7244,6 +7286,9 @@ test_130e() {
 
        local fm_file=$DIR/$tfile
        $SETSTRIPE -S 131072 -c 2 $fm_file || error "setstripe on $fm_file"
+       [ "$(facet_fstype ost$(($($GETSTRIPE -i $fm_file) + 1)))" = "zfs" ] &&
+               skip "ORI-366/LU-1941: FIEMAP unimplemented on ZFS" && return
+
        NUM_BLKS=512
        EXPECTED_LEN=$(( (NUM_BLKS / 2) * 64 ))
        for ((i = 0; i < $NUM_BLKS; i++))
@@ -7483,8 +7528,11 @@ test_133b() {
        chmod 444 ${testdir}/${tfile} || error "chmod failed"
        check_stats $SINGLEMDS "setattr" 1
        do_facet $SINGLEMDS $LCTL set_param mdt.*.md_stats=clear
-       ls -l ${testdir}/${tfile} > /dev/null|| error "ls failed"
-       check_stats $SINGLEMDS "getattr" 1
+       if [ $(lustre_version_code $SINGLEMDS) -ne $(version_code 2.2.0) ]
+       then            # LU-1740
+               ls -l ${testdir}/${tfile} > /dev/null|| error "ls failed"
+               check_stats $SINGLEMDS "getattr" 1
+       fi
        $LFS df || error "lfs failed"
        check_stats $SINGLEMDS "statfs" 1
 
@@ -7802,6 +7850,9 @@ test_153() {
 run_test 153 "test if fdatasync does not crash ======================="
 
 test_154() {
+       [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.2.51) ]] ||
+               { skip "Need MDS version at least 2.2.51"; return 0; }
+
        cp /etc/hosts $DIR/$tfile
 
        fid=$($LFS path2fid $DIR/$tfile)