Whamcloud - gitweb
LU-290 Reconnects are not throttled
[fs/lustre-release.git] / lustre / tests / conf-sanity.sh
index d9fe526..c306f4a 100644 (file)
@@ -786,8 +786,8 @@ test_23a() {        # was test_23
        ps -ef | grep mount
        # "ctrl-c" sends SIGINT but it usually (in script) does not work on child process
        # SIGTERM works but it does not spread to offspring processses
-       kill -s SIGTERM $MOUNT_PID
-       kill -s SIGTERM $MOUNT_LUSTRE_PID
+       kill -s TERM $MOUNT_PID
+       kill -s TERM $MOUNT_LUSTRE_PID
        # we can not wait $MOUNT_PID because it is not a child of this shell
        local PID1
        local PID2
@@ -1493,19 +1493,21 @@ test_35b() { # bug 18674
                at_max_set 0 mds client
        fi
 
-       mkdir -p $MOUNT/testdir
-       touch $MOUNT/testdir/test
+       mkdir -p $MOUNT/$tdir
 
        log "Injecting EBUSY on MDS"
        # Setting OBD_FAIL_MDS_RESEND=0x136
        do_facet $SINGLEMDS "$LCTL set_param fail_loc=0x80000136" || return 2
 
-       log "Stat on a test file"
-       stat $MOUNT/testdir/test
+       $LCTL set_param mdc.${FSNAME}*.stats=clear
+  
+       log "Creating a test file and stat it"
+       touch $MOUNT/$tdir/$tfile
+       stat $MOUNT/$tdir/$tfile
 
        log "Stop injecting EBUSY on MDS"
        do_facet $SINGLEMDS "$LCTL set_param fail_loc=0" || return 3
-       rm -f $MOUNT/testdir/test
+       rm -f $MOUNT/$tdir/$tfile
 
        log "done"
        # restore adaptive timeout
@@ -1513,6 +1515,8 @@ test_35b() { # bug 18674
 
        $LCTL dk $TMP/lustre-log-$TESTNAME.log
 
+       CONNCNT=`$LCTL get_param mdc.${FSNAME}*.stats | awk '/mds_connect/{print $2}'`
+
        # retrieve from the log if the client has ever tried to
        # contact the fake server after the loss of connection
        FAILCONN=`awk "BEGIN {ret = 0;}
@@ -1532,7 +1536,14 @@ test_35b() { # bug 18674
                log "ERROR: The client tried to reconnect to the failover server while the primary was busy" && \
                return 5
 
-        cleanup
+       # LU-290
+       # When OBD_FAIL_MDS_RESEND is hit, we sleep for 2 * obd_timeout
+       # Reconnects are supposed to be rate limited to one every 5s
+       [ $CONNCNT -gt $((2 * $TIMEOUT / 5 + 1)) ] && \
+               log "ERROR: Too many reconnects $CONNCNT" && \
+               return 6
+
+       cleanup
        # remove nid settings
        writeconf
 }
@@ -2726,6 +2737,23 @@ test_59() {
 }
 run_test 59 "writeconf mount option"
 
+test_60() { # LU-471
+       add mds1 $MDS_MKFS_OPTS --mkfsoptions='\" -E stride=64 -O ^uninit_bg\"' --reformat $(mdsdevname 1)
+
+       dump=$(do_facet $SINGLEMDS dumpe2fs $(mdsdevname 1))
+       rc=${PIPESTATUS[0]}
+       [ $rc -eq 0 ] || error "dumpe2fs $(mdsdevname 1) failed"
+
+       # MDT default has dirdata feature
+       echo $dump | grep dirdata > /dev/null || error "dirdata is not set"
+       # we disable uninit_bg feature
+       echo $dump | grep uninit_bg > /dev/null && error "uninit_bg is set"
+       # we set stride extended options
+       echo $dump | grep stride > /dev/null || error "stride is not set"
+       reformat
+}
+run_test 60 "check mkfs.lustre --mkfsoptions -E -O options setting"
+
 if ! combined_mgs_mds ; then
        stop mgs
 fi