Whamcloud - gitweb
LU-1209 tests: get dir size after rename in sanity 133d
[fs/lustre-release.git] / lustre / tests / sanity.sh
index a008b0b..528055b 100644 (file)
@@ -16,12 +16,6 @@ CPU=`awk '/model/ {print $4}' /proc/cpuinfo`
 #                                    buffer i/o errs             sock spc runas
 [ "$CPU" = "UML" ] && EXCEPT="$EXCEPT 27m 27n 27o 27p 27q 27r 31d 54a  64b 99a 99b 99c 99d 99e 99f 101a"
 
-case `uname -r` in
-2.4*) FSTYPE=${FSTYPE:-ext3} ;;
-2.6*) FSTYPE=${FSTYPE:-ldiskfs} ;;
-*) error "unsupported kernel" ;;
-esac
-
 SRCDIR=$(cd $(dirname $0); echo $PWD)
 export PATH=$PATH:/sbin
 
@@ -1357,9 +1351,6 @@ check_seq_oid()
         # compare lmm_object_id and lu_fid->oid
         [ $lmm_oid = ${fid[2]} ] || { error "OID mismatch"; return 2; }
 
-        [ "$FSTYPE" != "ldiskfs" ] &&
-                skip "cannot check filter fid FSTYPE=$FSTYPE" && return 0
-
         # check the trusted.fid attribute of the OST objects of the file
         local have_obdidx=false
         local stripe_nr=0
@@ -1372,6 +1363,11 @@ check_seq_oid()
                 local ost=$((obdidx + 1))
                 local dev=$(ostdevname $ost)
 
+               if [ $(facet_fstype ost$ost) != ldiskfs ]; then
+                       echo "Currently only works with ldiskfs-based OSTs"
+                       continue
+               fi
+
                 log "want: stripe:$stripe_nr ost:$obdidx oid:$oid/$hex seq:$seq"
 
                 #don't unmount/remount the OSTs if we don't need to do that
@@ -2426,12 +2422,14 @@ test_39i() {
 run_test 39i "write, rename, stat =============================="
 
 test_39j() {
-       debugsave
-       lctl set_param debug=-1
+       start_full_debug_logging
        touch $DIR1/$tfile
        sleep 1
 
-       multiop_bg_pause $DIR1/$tfile oO_RDWR:w2097152_c || error "multiop failed"
+       #define OBD_FAIL_OSC_DELAY_SETTIME       0x412
+       lctl set_param fail_loc=0x80000412
+       multiop_bg_pause $DIR1/$tfile oO_RDWR:w2097152_c ||
+               error "multiop failed"
        local multipid=$!
        local mtime1=`stat -c %Y $DIR1/$tfile`
 
@@ -2442,13 +2440,15 @@ test_39j() {
 
        for (( i=0; i < 2; i++ )) ; do
                local mtime2=`stat -c %Y $DIR1/$tfile-1`
-               [ "$mtime1" = "$mtime2" ] || \
-                       error "mtime is lost on close: $mtime2, should be $mtime1"
+               [ "$mtime1" = "$mtime2" ] ||
+                       error "mtime is lost on close: $mtime2, " \
+                             "should be $mtime1"
 
                cancel_lru_locks osc
                if [ $i = 0 ] ; then echo "repeat after cancel_lru_locks"; fi
        done
-       debugrestore
+       lctl set_param fail_loc=0
+       stop_full_debug_logging
 }
 run_test 39j "write, rename, close, stat ======================="
 
@@ -3052,6 +3052,7 @@ test_49() { # LU-1030
        done
        # restore original max_pages_per_rpc
        $LCTL set_param $osc1_mppc=$orig_mppc
+       rm $DIR/$tfile || error "rm $DIR/$tfile failed"
 }
 run_test 49 "Change max_pages_per_rpc won't break osc extent"
 
@@ -4720,7 +4721,7 @@ test_77i() { # bug 13805
        for VALUE in `lctl get_param osc.*osc-[^mM]*.checksum_type`; do
                PARAM=`echo ${VALUE[0]} | cut -d "=" -f1`
                algo=`lctl get_param -n $PARAM | sed 's/.*\[\(.*\)\].*/\1/g'`
-               [ "$algo" = "crc32" ] || error "algo set to $algo instead of crc32"
+               [ "$algo" = "adler" ] || error "algo set to $algo instead of adler"
        done
        remount_client $MOUNT
 }
@@ -6938,7 +6939,10 @@ set_dir_limits () {
        done
 }
 test_129() {
-       [ "$FSTYPE" != "ldiskfs" ] && skip "not needed for FSTYPE=$FSTYPE" && return 0
+       if [ "$(facet_type_fstype MDS)" != ldiskfs ]; then
+               skip "Only applicable to ldiskfs-based MDTs"
+               return
+       fi
        remote_mds_nodsh && skip "remote MDS with nodsh" && return
 
        EFBIG=27
@@ -7524,22 +7528,24 @@ test_133d() {
     mkdir -p ${testdir2} || error "mkdir failed"
 
     createmany -o $testdir1/test 512 || error "createmany failed"
-    local testdir1_size=$(ls -l $DIR/${tdir} |
-                          awk '/stats_testdir1/ {print $5}')
-    local testdir2_size=$(ls -l $DIR/${tdir} |
-                          awk '/stats_testdir2/ {print $5}')
 
-    testdir1_size=$(order_2 $testdir1_size)
-    testdir2_size=$(order_2 $testdir2_size)
+       # check samedir rename size
+       mv ${testdir1}/test0 ${testdir1}/test_0
+
+       local testdir1_size=$(ls -l $DIR/${tdir} |
+               awk '/stats_testdir1/ {print $5}')
+       local testdir2_size=$(ls -l $DIR/${tdir} |
+               awk '/stats_testdir2/ {print $5}')
+
+       testdir1_size=$(order_2 $testdir1_size)
+       testdir2_size=$(order_2 $testdir2_size)
 
-    testdir1_size=$(size_in_KMGT $testdir1_size)
-    testdir2_size=$(size_in_KMGT $testdir2_size)
+       testdir1_size=$(size_in_KMGT $testdir1_size)
+       testdir2_size=$(size_in_KMGT $testdir2_size)
 
-    echo "source rename dir size: ${testdir1_size}"
-    echo "target rename dir size: ${testdir2_size}"
+       echo "source rename dir size: ${testdir1_size}"
+       echo "target rename dir size: ${testdir2_size}"
 
-    # check samedir rename size
-    mv ${testdir1}/test0 ${testdir1}/test_0
     local cmd="do_facet $SINGLEMDS $LCTL get_param mdt.*.rename_stats"
     eval $cmd || error "$cmd failed"
     local samedir=$($cmd | grep 'same_dir')
@@ -7552,6 +7558,21 @@ test_133d() {
 
     # check crossdir rename size
     mv ${testdir1}/test_0 ${testdir2}/test_0
+
+       testdir1_size=$(ls -l $DIR/${tdir} |
+               awk '/stats_testdir1/ {print $5}')
+       testdir2_size=$(ls -l $DIR/${tdir} |
+               awk '/stats_testdir2/ {print $5}')
+
+       testdir1_size=$(order_2 $testdir1_size)
+       testdir2_size=$(order_2 $testdir2_size)
+
+       testdir1_size=$(size_in_KMGT $testdir1_size)
+       testdir2_size=$(size_in_KMGT $testdir2_size)
+
+       echo "source rename dir size: ${testdir1_size}"
+       echo "target rename dir size: ${testdir2_size}"
+
     eval $cmd || error "$cmd failed"
     local crossdir=$($cmd | grep 'crossdir')
     local src_sample=$(get_rename_size $testdir1_size)
@@ -9032,10 +9053,10 @@ test_215() { # for bugs 18102, 21079, 21517
        # /proc/sys/lnet/nis should look like this:
        # nid status alive refs peer rtr max tx min
        # where nid is a string like 192.168.1.1@tcp2, status is up/down,
-       # alive is numeric (0 or >0 or <0), refs > 0, peer >= 0,
+       # alive is numeric (0 or >0 or <0), refs >= 0, peer >= 0,
        # rtr >= 0, max >=0, tx and min are numeric (0 or >0 or <0).
        L1="^nid +status +alive +refs +peer +rtr +max +tx +min$"
-       BR="^$NID +(up|down) +$I +$P +$N +$N +$N +$I +$I$"
+       BR="^$NID +(up|down) +$I +$N +$N +$N +$N +$I +$I$"
        create_lnet_proc_files "nis"
        check_lnet_proc_entry "nis.out" "/proc/sys/lnet/nis" "$BR" "$L1"
        check_lnet_proc_entry "nis.sys" "lnet.nis" "$BR" "$L1"