Whamcloud - gitweb
LU-10931 tests: resume testing of recovery-small 136
[fs/lustre-release.git] / lustre / tests / recovery-small.sh
index 365be60..58fe1fb 100755 (executable)
@@ -10,12 +10,10 @@ init_test_env $@
 . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
 init_logging
 
-ALWAYS_EXCEPT="$RECOVERY_SMALL_EXCEPT"
-if [ "$MDSCOUNT" -gt "1" ]; then
-       # bug number for skipped test: LU-10931
-       ALWAYS_EXCEPT+="               136"
-       # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
-fi
+ALWAYS_EXCEPT="$RECOVERY_SMALL_EXCEPT "
+# bug number for skipped test:
+ALWAYS_EXCEPT+="               "
+# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
 require_dsh_mds || exit 0
 
@@ -1298,15 +1296,16 @@ test_53() {
 run_test 53 "touch: drop rep"
 
 test_54() {
-       zconf_mount `hostname` $MOUNT2
-        touch $DIR/$tfile
-        touch $DIR2/$tfile.1
-        sleep 10
-        cat $DIR2/$tfile.missing # save transno = 0, rc != 0 into last_rcvd
-        fail $SINGLEMDS
-        umount $MOUNT2
-        ERROR=`dmesg | egrep "(test 54|went back in time)" | tail -n1 | grep "went back in time"`
-        [ x"$ERROR" == x ] || error "back in time occured"
+       zconf_mount $(hostname) $MOUNT2
+       touch $DIR/$tfile
+       touch $DIR2/$tfile.1
+       sleep 10
+       cat $DIR2/$tfile.missing # save transno = 0, rc != 0 into last_rcvd
+       fail $SINGLEMDS
+       umount $MOUNT2
+       ERROR=$(dmesg | egrep "(test 54|went back in time)" | tail -n1 |
+               grep "went back in time")
+       [ x"$ERROR" == x ] || error "back in time occured"
 }
 run_test 54 "back in time"
 
@@ -1995,9 +1994,8 @@ test_106() { # LU-1789
        # lightweight goes through LUSTRE_IMP_RECOVER during failover
        touch -c $DIR2/$tfile || true
        $LCTL dk $TMP/lustre-log-$TESTNAME.log
-       recovered=`awk '/MDT0000-mdc-[0-9a-f]*: lwp recover/ {
-                                     print;
-                     }' $TMP/lustre-log-$TESTNAME.log`
+       recovered=$(awk '/MDT0000-mdc-[0-9a-f]*. lwp recover/ { print }' \
+                   $TMP/lustre-log-$TESTNAME.log)
        [ -z "$recovered" ] && error "lightweight client was not recovered"
 
        # and all operations performed by lightweight client should be
@@ -2260,6 +2258,28 @@ test_110j () {
 }
 run_test 110j "drop update reply during cross-MDT ln"
 
+test_110k() {
+       [ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTS"
+       [[ $MDS1_VERSION -ge $(version_code 2.12.55) ]] ||
+               { skip "Need MDS version at least 2.12.55"; }
+
+       stop mds2 || error "stop mds2 failed"
+       umount $MOUNT
+
+#define OBD_FAIL_FLD_QUERY_REQ 0x1103
+       do_facet mds2 lctl set_param fail_loc=0x1103
+       start mds2 $(mdsdevname 2) -o abort_recovery ||
+               error "start MDS with abort_recovery should succeed"
+       do_facet mds2 lctl set_param fail_loc=0
+
+       # cleanup
+       stop mds2 || error "cleanup: stop mds2 failed"
+       start mds2 $(mdsdevname 2) || error "cleanup: start mds2 failed"
+       zconf_mount $(hostname) $MOUNT || error "cleanup: mount failed"
+       client_up || error "post-failover df failed"
+}
+run_test 110k "FID_QUERY failed during recovery"
+
 # LU-2844 mdt prepare fail should not cause umount oops
 test_111 ()
 {