done
fail $SINGLEMDS
for i in `seq 220`; do
- grep -q "tag-$i" $DIR/$tfile-$i || error "f1c-$i"
+ grep -q "tag-$i" $DIR/$tfile-$i || error "$tfile-$i"
done
rm -rf $DIR/$tfile-*
sleep 3
run_test 20a "|X| open(O_CREAT), unlink, replay, close (test mds_cleanup_orphans)"
test_20b() { # bug 10480
+ # XXX increase the debug level temporary
+ do_nodes $(comma_list $(nodes_list)) "$LCTL set_param debug=0x33f0406; $LCTL set_param debug_mb=150"
BEFOREUSED=`df -P $DIR | tail -1 | awk '{ print $3 }'`
dd if=/dev/zero of=$DIR/$tfile bs=4k count=10000 &
log "before $BEFOREUSED, after $AFTERUSED"
[ $AFTERUSED -gt $((BEFOREUSED + 20)) ] && \
error "after $AFTERUSED > before $BEFOREUSED"
+ # XXX decrease it back
+ do_nodes $(comma_list $(nodes_list)) "$LCTL set_param debug=$PTLDEBUG; $LCTL set_param debug_mb=$DEBUG_SIZE"
return 0
}
run_test 20b "write, unlink, eviction, replay, (test mds_cleanup_orphans)"
run_test 61c "test race mds llog sync vs llog cleanup"
test_61d() { # bug 16002 # bug 17466
-#define OBD_FAIL_OBD_LLOG_SETUP 0x605
shutdown_facet $SINGLEMDS
+#define OBD_FAIL_OBD_LLOG_SETUP 0x605
do_facet $SINGLEMDS "lctl set_param fail_loc=0x605"
start $SINGLEMDS `mdsdevname 1` $MDS_MOUNT_OPTS && error "mds start should have failed"
do_facet $SINGLEMDS "lctl set_param fail_loc=0"
mkdir -p $DIR/$tdir
replay_barrier $SINGLEMDS
createmany -o $DIR/$tdir/$tfile- 25
-#define OBD_FAIL_TGT_REPLAY_DROP 0x706
+#define OBD_FAIL_TGT_REPLAY_DROP 0x707
do_facet $SINGLEMDS "lctl set_param fail_loc=0x80000707"
facet_failover $SINGLEMDS
df $MOUNT || return 1
error "dd failed on $CLIENT"
done
- local prev_client=$(echo $clients | sed 's/^.* \(.\+\)$/\1/')
+ local prev_client=$(echo $clients | sed 's/^.* \(.\+\)$/\1/')
for C in ${CLIENTS//,/ }; do
do_node $prev_client dd if=$DIR/${tfile}_${C} of=/dev/null 2>/dev/null || \
error "dd if=$DIR/${tfile}_${C} failed on $prev_client"
zconf_mount_clients $clients $DIR
- local duration=120
+ local duration=300
[ "$SLOW" = "no" ] && duration=60
local cmd="rundbench 1 -t $duration"
local PID=""
LCTL=$LCTL $cmd" &
PID=$!
log "Started rundbench load PID=$PID ..."
-
- sleep $((duration / 4))
- replay_barrier $SINGLEMDS
- sleep 3 # give clients a time to do operations
-
- log "$TESTNAME fail mds 1"
- fail $SINGLEMDS
-
+ ELAPSED=0
+ NUM_FAILOVERS=0
+ START_TS=$(date +%s)
+ CURRENT_TS=$START_TS
+ while [ $ELAPSED -lt $duration ]; do
+ sleep 1
+ replay_barrier $SINGLEMDS
+ sleep 1 # give clients a time to do operations
+ # Increment the number of failovers
+ NUM_FAILOVERS=$((NUM_FAILOVERS+1))
+ log "$TESTNAME fail mds1 $NUM_FAILOVERS times"
+ facet_failover $SINGLEMDS
+ CURRENT_TS=$(date +%s)
+ ELAPSED=$((CURRENT_TS - START_TS))
+ done
wait $PID || error "rundbench load on $CLIENTS failed!"
-
}
run_test 70b "mds recovery; $CLIENTCOUNT clients"
# end multi-client tests
}
run_test 73c "open(O_CREAT), unlink, replay, reconnect at last_replay, close"
+# bug 18554
+test_74() {
+ stop ost1
+ zconf_umount $(hostname) $MOUNT
+ fail $SINGLEMDS
+ zconf_mount $(hostname) $MOUNT
+ mount_facet ost1
+ touch $DIR/$tfile || return 1
+ rm $DIR/$tfile || return 2
+ df $MOUNT || error "df failed: $?"
+ return 0
+}
+run_test 74 "Ensure applications don't fail waiting for OST reocvery"
+
test_80a() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return 0