X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Freplay-ost-single.sh;h=ffa8dbd8b8b9b370bebf1363f0eb63115892eef6;hb=3ddfc28827b5f870ffcf047a92c36a64fd93e37e;hp=bec28ade26a48e47ece45580399fbdba4692e6ef;hpb=113303973ec9f8484eb2355a1a6ef3c4c7fd6a56;p=fs%2Flustre-release.git diff --git a/lustre/tests/replay-ost-single.sh b/lustre/tests/replay-ost-single.sh index bec28ad..ffa8dbd 100755 --- a/lustre/tests/replay-ost-single.sh +++ b/lustre/tests/replay-ost-single.sh @@ -4,6 +4,8 @@ set -e PTLDEBUG=${PTLDEBUG:--1} LUSTRE=${LUSTRE:-`dirname $0`/..} +SETUP=${SETUP:-""} +CLEANUP=${CLEANUP:-""} . $LUSTRE/tests/test-framework.sh init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} @@ -19,54 +21,25 @@ CPU=`awk '/model/ {print $4}' /proc/cpuinfo` # BUG NUMBER: ALWAYS_EXCEPT="$REPLAY_OST_SINGLE_EXCEPT" +# +[ "$SLOW" = "no" ] && EXCEPT_SLOW="" + # It is replay-ost-single, after all OSTCOUNT=1 -gen_config() { - formatall -} - -cleanup() { - cleanupall -} - -if [ "$ONLY" == "cleanup" ]; then - cleanup - exit -fi - build_test_filter -SETUP=${SETUP:-"setup"} -CLEANUP=${CLEANUP:-"cleanup"} +REFORMAT=--reformat cleanup_and_setup_lustre +rm -rf $DIR/[df][0-9]* test_0a() { + zconf_umount `hostname` $MOUNT -f # needs to run during initial client->OST connection #define OBD_FAIL_OST_ALL_REPLY_NET 0x211 do_facet ost "sysctl -w lustre.fail_loc=0x80000211" zconf_mount `hostname` $MOUNT && df $MOUNT || error "0a mount fail" } - -setup() { - gen_config - start mds $MDSDEV $MDS_MOUNT_OPTS - start ost1 `ostdevname 1` $OST_MOUNT_OPTS - [ "$DAEMONFILE" ] && $LCTL debug_daemon start $DAEMONFILE $DAEMONSIZE - - # this might not mount if we aren't running test 0a - [ -z "`grep " $MOUNT " /proc/mounts`" ] && \ - run_test 0a "target handle mismatch (bug 5317) `date +%H:%M:%S`" - - if [ -z "`grep " $MOUNT " /proc/mounts`" ]; then - zconf_mount `hostname` $MOUNT || error "mount fail" - fi - - do_facet ost1 "sysctl -w lustre.fail_loc=0" -} - -mkdir -p $DIR - -$SETUP +run_test 0a "target handle mismatch (bug 5317) `date +%H:%M:%S`" test_0b() { fail ost1 @@ -113,9 +86,7 @@ test_4() { verify=$ROOT/tmp/verify-$$ dd if=/dev/urandom bs=4096 count=1280 | tee $verify > $DIR/$tfile # invalidate cache, so that we're reading over the wire - for i in /proc/fs/lustre/ldlm/namespaces/*-osc-*; do - echo -n clear > $i/lru_size - done + cancel_lru_locks osc cmp $verify $DIR/$tfile & cmppid=$! fail ost1 @@ -155,11 +126,11 @@ test_6() { before=`kbytesfree` dd if=/dev/urandom bs=4096 count=1280 of=$f || return 28 lfs getstripe $f -#define OBD_FAIL_MDS_REINT_NET_REP 0x119 - do_facet mds "sysctl -w lustre.fail_loc=0x80000119" sync - sleep 1 # ensure we have a fresh statfs + sleep 2 # ensure we have a fresh statfs sync +#define OBD_FAIL_MDS_REINT_NET_REP 0x119 + do_facet mds "sysctl -w lustre.fail_loc=0x80000119" after_dd=`kbytesfree` log "before: $before after_dd: $after_dd" (( $before > $after_dd )) || return 1 @@ -178,11 +149,12 @@ run_test 6 "Fail OST before obd_destroy" test_7() { f=$DIR/$tfile rm -f $f - sync && sleep 2 && sync # wait for delete thread + sync && sleep 5 && sync # wait for delete thread before=`kbytesfree` dd if=/dev/urandom bs=4096 count=1280 of=$f || return 4 sync - sleep 1 # ensure we have a fresh statfs + sleep 2 # ensure we have a fresh statfs + sync after_dd=`kbytesfree` log "before: $before after_dd: $after_dd" (( $before > $after_dd )) || return 1 @@ -192,14 +164,13 @@ test_7() { $CHECKSTAT -t file $f && return 2 || true sync # let the delete happen - sleep 2 + sleep 5 after=`kbytesfree` log "before: $before after: $after" (( $before <= $after + 40 )) || return 3 # take OST logs into account } run_test 7 "Fail OST before obd_destroy" -equals_msg test complete, cleaning up -$CLEANUP -echo "$0: completed" - +equals_msg `basename $0`: test complete, cleaning up +check_and_cleanup_lustre +[ -f "$TESTSUITELOG" ] && cat $TESTSUITELOG || true