fix AT time calculation in AT_OFF mode.
b=3055
r=nathan
r=rread
#endif
/* Time to wait for all clients to reconnect during recovery */
/* Should be very conservative; must catch the first reconnect after reboot */
-#define OBD_RECOVERY_FACTOR (5 / 2) /* times obd_timeout */
+#define OBD_RECOVERY_FACTOR (3) /* times obd_timeout */
/* Change recovery-small 26b time if you change this */
#define PING_INTERVAL max(obd_timeout / 4, 1U)
/* Client may skip 1 ping; we must wait at least 2.5. But for multiple
DEBUG_REQ(D_HA, req, "processing: ");
(void)obd->obd_recovery_handler(req);
obd->obd_replayed_requests++;
- reset_recovery_timer(obd, 2 * /* safety */
+ reset_recovery_timer(obd, OBD_RECOVERY_FACTOR *
+ AT_OFF ? obd_timeout :
at_get(&req->rq_rqbd->rqbd_service->srv_at_estimate), 1);
/* bug 1580: decide how to properly sync() in recovery */
//mds_fsync_super(obd->u.obt.obt_sb);
int time = PING_INTERVAL;
if (imp->imp_state == LUSTRE_IMP_DISCON) {
int dtime = max_t(int, CONNECTION_SWITCH_MIN,
+ AT_OFF ? 0 :
at_get(&imp->imp_at.iat_net_latency));
time = min(time, dtime);
}