remote_ost_nodsh && skip "remote OST with nodsh" && return 0
# With adaptive timeouts, bulk_get won't expire until adaptive_timeout_max
- if at_is_valid && at_is_enabled; then
+ if at_is_enabled; then
at_max_saved=$(at_max_get ost1)
at_max_set $TIMEOUT ost1
fi
# expect cmp to succeed, client resent bulk
do_facet client "cmp /etc/termcap $DIR/$tfile" || return 3
do_facet client "rm $DIR/$tfile" || return 4
- [ $at_max_saved -ne 0 ] && $(at_max_set $at_max_saved ost1)
+ [ $at_max_saved -ne 0 ] && at_max_set $at_max_saved ost1
return 0
}
run_test 17 "timeout bulk get, don't evict client (2732)"
test_18a() {
- [ -z ${ost2_svc} ] && skip "needs 2 osts" && return 0
+ [ -z ${ost2_svc} ] && skip_env "needs 2 osts" && return 0
do_facet client mkdir -p $DIR/$tdir
f=$DIR/$tdir/$tfile
zconf_umount `hostname` $MOUNT2 -f
+ # PING_INTERVAL max(obd_timeout / 4, 1U)
+ # PING_EVICT_TIMEOUT (PING_INTERVAL * 6)
+
# evictor takes PING_EVICT_TIMEOUT + 3 * PING_INTERVAL to evict.
# But if there's a race to start the evictor from various obds,
# the loser might have to wait for the next ping.
- # PING_INTERVAL max(obd_timeout / 4, 1U)
- # sleep (2*PING_INTERVAL)
-
- local rc=0
- wait_client_evicted ost1 $OST_NEXP $((TIMEOUT * 2 + TIMEOUT * 3 / 4)) || \
+ # = 9 * PING_INTERVAL + PING_INTERVAL
+ # = 10 PING_INTERVAL = 10 obd_timeout / 4 = 2.5 obd_timeout
+ # let's wait $((TIMEOUT * 3)) # bug 19887
+ local rc=0
+ wait_client_evicted ost1 $OST_NEXP $((TIMEOUT * 3)) || \
error "Client was not evicted by ost" rc=1
- wait_client_evicted $SINGLEMDS $MDS_NEXP $((TIMEOUT * 2 + TIMEOUT * 3 / 4)) || \
+ wait_client_evicted $SINGLEMDS $MDS_NEXP $((TIMEOUT * 3)) || \
error "Client was not evicted by mds"
}
run_test 26b "evict dead exports"