Whamcloud - gitweb
LU-7803 tests: Cleanup after sanity/78
[fs/lustre-release.git] / lustre / tests / sanity.sh
index c2d49ac..6dde8ab 100755 (executable)
@@ -6155,6 +6155,11 @@ run_test 77j "client only supporting ADLER32"
 rm -f $F77_TMP
 unset F77_TMP
 
+cleanup_test_78() {
+       trap 0
+       rm -f $DIR/$tfile
+}
+
 test_78() { # bug 10901
        [ $PARALLEL == "yes" ] && skip "skip parallel run" && return
        remote_ost || { skip_env "local OST" && return; }
@@ -6184,6 +6189,8 @@ test_78() { # bug 10901
        [[ $SMALLESTOST -lt 10240 ]] &&
                skip "too small OSTSIZE, useless to run large O_DIRECT test" && return 0
 
+       trap cleanup_test_78 EXIT
+
        [[ $F78SIZE -gt $((SMALLESTOST * $OSTCOUNT / 1024 - 80)) ]] &&
                F78SIZE=$((SMALLESTOST * $OSTCOUNT / 1024 - 80))
 
@@ -6196,7 +6203,7 @@ test_78() { # bug 10901
                $DIRECTIO rdwr $DIR/$tfile 0 $FSIZE 1048576||error "rdwr failed"
        done
 
-       rm -f $DIR/$tfile
+       cleanup_test_78
 }
 run_test 78 "handle large O_DIRECT writes correctly ============"
 
@@ -15402,6 +15409,29 @@ test_406() {
 }
 run_test 406 "DNE support fs default striping"
 
+test_407() {
+       [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+
+       [[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.8.55) ]] &&
+               skip "Need MDS version at least 2.8.55" && return
+
+       $LFS mkdir -i 0 -c 1 $DIR/$tdir.0 ||
+               error "$LFS mkdir -i 0 -c 1 $tdir.0 failed"
+       $LFS mkdir -i 1 -c 1 $DIR/$tdir.1 ||
+               error "$LFS mkdir -i 1 -c 1 $tdir.1 failed"
+       touch $DIR/$tdir.0/$tfile.0 || error "touch $tdir.0/$tfile.0 failed"
+
+       #define OBD_FAIL_DT_TXN_STOP    0x2019
+       for idx in $(seq $MDSCOUNT); do
+               do_facet mds$idx "lctl set_param fail_loc=0x2019"
+       done
+       $LFS mkdir -c 2 $DIR/$tdir && error "$LFS mkdir -c 2 $tdir should fail"
+       mv $DIR/$tdir.0/$tfile.0 $DIR/$tdir.1/$tfile.1 &&
+               error "mv $tdir.0/$tfile.0 $tdir.1/$tfile.1 should fail"
+       true
+}
+run_test 407 "transaction fail should cause operation fail"
+
 #
 # tests that do cleanup/setup should be run at the end
 #