Whamcloud - gitweb
LU-6119 test: Add testing for Lustre exported via Samba
[fs/lustre-release.git] / lustre / tests / replay-single.sh
index df9c3e1..9998498 100755 (executable)
@@ -24,8 +24,7 @@ require_dsh_mds || exit 0
 # bug number for skipped tests:
 # b=17466/LU-472 : 61d
 # LU-5319 : 53a 53d
-# LU-6780 : 80d 80h 81d 81h 110e 110f 110g 111c 111d 111e 111f 111g 112
-ALWAYS_EXCEPT="61d 53a 53d  80d 80h 81d 81h 110e 110f 110g 111c 111d 111e 111f 111g 112 $REPLAY_SINGLE_EXCEPT"
+ALWAYS_EXCEPT="61d 53a 53d $REPLAY_SINGLE_EXCEPT"
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
 case "$(lsb_release -sr)" in   # only disable tests for el7
@@ -2028,15 +2027,6 @@ check_for_process () {
        killall_process $clients "$prog" -0
 }
 
-killall_process () {
-       local clients=${1:-$(hostname)}
-       local name=$2
-       local signal=$3
-       local rc=0
-
-       do_nodes $clients "killall $signal $name"
-}
-
 test_70b () {
        local clients=${CLIENTS:-$HOSTNAME}
 
@@ -3752,6 +3742,56 @@ test_115() {
 }
 run_test 115 "failover for create/unlink striped directory"
 
+test_116a() {
+       [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
+       [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.55) ] &&
+               skip "Do not support large update log before 2.7.55" &&
+               return 0
+       ([ $FAILURE_MODE == "HARD" ] &&
+               [ "$(facet_host mds1)" == "$(facet_host mds2)" ]) &&
+               skip "MDTs needs to be on diff hosts for HARD fail mode" &&
+               return 0
+       local fail_index=0
+
+       mkdir -p $DIR/$tdir
+       replay_barrier mds1
+
+       # OBD_FAIL_SPLIT_UPDATE_REC       0x1702
+       do_facet mds1 "lctl set_param fail_loc=0x80001702"
+       $LFS setdirstripe -c$MDSCOUNT $DIR/$tdir/striped_dir
+
+       fail mds1
+       $CHECKSTAT -t dir $DIR/$tdir/striped_dir ||
+               error "stried_dir does not exists"
+}
+run_test 116a "large update log master MDT recovery"
+
+test_116b() {
+       [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0
+       [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.55) ] &&
+               skip "Do not support large update log before 2.7.55" &&
+               return 0
+
+       ([ $FAILURE_MODE == "HARD" ] &&
+               [ "$(facet_host mds1)" == "$(facet_host mds2)" ]) &&
+               skip "MDTs needs to be on diff hosts for HARD fail mode" &&
+               return 0
+       local fail_index=0
+
+       mkdir -p $DIR/$tdir
+       replay_barrier mds2
+
+       # OBD_FAIL_SPLIT_UPDATE_REC       0x1702
+       do_facet mds2 "lctl set_param fail_loc=0x80001702"
+       $LFS setdirstripe -c$MDSCOUNT $DIR/$tdir/striped_dir
+
+       fail mds2
+       $CHECKSTAT -t dir $DIR/$tdir/striped_dir ||
+               error "stried_dir does not exists"
+}
+run_test 116b "large update log slave MDT recovery"
+
+
 complete $SECONDS
 check_and_cleanup_lustre
 exit_status