Whamcloud - gitweb
LU-3100 tests: Skip recovery-small test_111
[fs/lustre-release.git] / lustre / tests / recovery-small.sh
index ed8ce3a..be0c6a1 100755 (executable)
@@ -19,6 +19,10 @@ require_dsh_mds || exit 0
 #                                   1  2.5  2.5    4    4          (min)"
 [ "$SLOW" = "no" ] && EXCEPT_SLOW="17  26a  26b    50   51     57"
 
+[ $(facet_fstype $SINGLEMDS) = "zfs" ] &&
+# bug number for skipped test:       LU-2194 LU-2547
+       ALWAYS_EXCEPT="$ALWAYS_EXCEPT 19b     24a"
+
 build_test_filter
 
 # Allow us to override the setup if we already have a mounted system by
@@ -411,6 +415,9 @@ test_19a() {
 
        mount_client $DIR2 || error "failed to mount $DIR2"
 
+       # cancel cached locks from OST to avoid eviction from it
+       cancel_lru_locks osc
+
        do_facet client "stat $DIR > /dev/null"  ||
                error "failed to stat $DIR: $?"
        drop_ldlm_cancel "chmod 0777 $DIR2" ||
@@ -435,6 +442,9 @@ test_19b() {
 
        mount_client $DIR2 || error "failed to mount $DIR2: $?"
 
+       # cancel cached locks from MDT to avoid eviction from it
+       cancel_lru_locks mdc
+
        do_facet client $MULTIOP $DIR/$tfile Ow ||
                error "failed to run multiop: $?"
        drop_ldlm_cancel $MULTIOP $DIR2/$tfile Ow ||
@@ -913,7 +923,7 @@ test_29a() { # bug 22273 - error adding new clients
        # fail abort so client will be new again
        fail_abort $SINGLEMDS
        client_up || error "reconnect failed"
-       wait_osc_import_state mds ost FULL
+       wait_osc_import_state $SINGLEMDS ost FULL
        return 0
 }
 run_test 29a "error adding new clients doesn't cause LBUG (bug 22273)"
@@ -1757,6 +1767,22 @@ test_110f () {
 }
 run_test 110f "remove remote directory: drop slave rep"
 
+# LU-2844 mdt prepare fail should not cause umount oops
+test_111 ()
+{
+       [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.3.62) ]] ||
+               { skip "Need MDS version at least 2.3.62"; return 0; }
+
+       local mdsdev=$(mdsdevname ${SINGLEMDS//mds/})
+#define OBD_FAIL_MDS_CHANGELOG_INIT 0x151
+       do_facet $SINGLEMDS lctl set_param fail_loc=0x151
+       stop $SINGLEMDS || error "stop MDS failed"
+       start $SINGLEMDS $mdsdev && error "start MDS should fail"
+       do_facet $SINGLEMDS lctl set_param fail_loc=0
+       start $SINGLEMDS $mdsdev || error "start MDS failed"
+}
+run_test 111 "mdd setup fail should not cause umount oops"
+
 complete $SECONDS
 check_and_cleanup_lustre
 exit_status