Whamcloud - gitweb
LU-10496 ofd: serialize fmd check and set
[fs/lustre-release.git] / lustre / tests / sanity.sh
index 4453d11..b8ca080 100644 (file)
@@ -4266,7 +4266,7 @@ test_39j() {
                        error "mtime is lost on close: $mtime2, " \
                              "should be $mtime1"
 
-               cancel_lru_locks $OSC
+               cancel_lru_locks
                if [ $i = 0 ] ; then echo "repeat after cancel_lru_locks"; fi
        done
        lctl set_param fail_loc=0
@@ -4295,7 +4295,7 @@ test_39k() {
                [ "$mtime2" = $TEST_39_MTIME ] || \
                        error "mtime is lost on close: $mtime2, should be $TEST_39_MTIME"
 
-               cancel_lru_locks osc
+               cancel_lru_locks
                if [ $i = 0 ] ; then echo "repeat after cancel_lru_locks"; fi
        done
 }
@@ -7841,6 +7841,29 @@ test_65n() {
        local dir5_layout=$(get_layout_param $dir5)
        [[ "$dir4_layout" = "$dir5_layout" ]] ||
                error "$dir5 should inherit the default layout from $dir4"
+
+       # though subdir under ROOT doesn't inherit default layout, but
+       # its sub dir/file should be created with default layout.
+       [[ $MDSCOUNT -ge 2 ]] || skip_env "needs >= 2 MDTs"
+       [[ $MDS1_VERSION -ge $(version_code 2.12.59) ]] ||
+               skip "Need MDS version at least 2.12.59"
+
+       local default_lmv_count=$($LFS getdirstripe -D -c $MOUNT)
+       local default_lmv_index=$($LFS getdirstripe -D -i $MOUNT)
+       local default_lmv_hash=$($LFS getdirstripe -D -H $MOUNT)
+
+       if [ $default_lmv_hash == "none" ]; then
+               stack_trap "$LFS setdirstripe -D -d $MOUNT" EXIT
+       else
+               stack_trap "$LFS setdirstripe -D -i $default_lmv_index \
+                       -c $default_lmv_count -H $default_lmv_hash $MOUNT" EXIT
+       fi
+
+       $LFS setdirstripe -D -c 2 $MOUNT ||
+               error "setdirstripe -D -c 2 failed"
+       mkdir $MOUNT/$tdir-6 || error "mkdir $tdir-6 failed"
+       local lmv_count=$($LFS getdirstripe -c $MOUNT/$tdir-6)
+       [ $lmv_count -eq 2 ] || error "$tdir-6 stripe count $lmv_count"
 }
 run_test 65n "don't inherit default layout from root for new subdirectories"
 
@@ -21351,6 +21374,46 @@ test_421g() {
 }
 run_test 421g "rmfid to return errors properly"
 
+test_422() {
+       test_mkdir -i 0 -c 1 -p $DIR/$tdir/d1
+       test_mkdir -i 0 -c 1 -p $DIR/$tdir/d2
+       test_mkdir -i 0 -c 1 -p $DIR/$tdir/d3
+       dd if=/dev/zero of=$DIR/$tdir/d1/file1 bs=1k count=1
+       dd if=/dev/zero of=$DIR/$tdir/d2/file1 bs=1k count=1
+
+       local amc=$(at_max_get client)
+       local amo=$(at_max_get mds1)
+       local timeout=`lctl get_param -n timeout`
+
+       at_max_set 0 client
+       at_max_set 0 mds1
+
+#define OBD_FAIL_PTLRPC_PAUSE_REQ        0x50a
+       do_facet mds1 $LCTL set_param fail_loc=0x8000050a \
+                       fail_val=$(((2*timeout + 10)*1000))
+       touch $DIR/$tdir/d3/file &
+       sleep 2
+#define OBD_FAIL_TGT_REPLY_DATA_RACE    0x722
+       do_facet mds1 $LCTL set_param fail_loc=0x80000722 \
+                       fail_val=$((2*timeout + 5))
+       mv $DIR/$tdir/d1/file1 $DIR/$tdir/d1/file2 &
+       local pid=$!
+       sleep 1
+       kill -9 $pid
+       sleep $((2 * timeout))
+       echo kill $pid
+       kill -9 $pid
+       lctl mark touch
+       touch $DIR/$tdir/d2/file3
+       touch $DIR/$tdir/d2/file4
+       touch $DIR/$tdir/d2/file5
+
+       wait
+       at_max_set $amc client
+       at_max_set $amo mds1
+}
+run_test 422 "kill a process with RPC in progress"
+
 prep_801() {
        [[ $(lustre_version_code mds1) -lt $(version_code 2.9.55) ]] ||
        [[ $OST1_VERSION -lt $(version_code 2.9.55) ]] &&