cfs_spin_lock(&export->exp_lock);
if (export->exp_conn_cnt >= lustre_msg_get_conn_cnt(req->rq_reqmsg)) {
cfs_spin_unlock(&export->exp_lock);
- CDEBUG(D_RPCTRACE, "%s: %s already connected at higher "
- "conn_cnt: %d > %d\n",
+ CDEBUG(D_RPCTRACE, "%s: %s already connected at greater "
+ "or equal conn_cnt: %d >= %d\n",
cluuid.uuid, libcfs_nid2str(req->rq_peer.nid),
export->exp_conn_cnt,
lustre_msg_get_conn_cnt(req->rq_reqmsg));
}
cfs_spin_lock(&export->exp_lock);
- if (export->exp_imp_reverse != NULL) {
+ if (export->exp_imp_reverse != NULL)
/* destroyed import can be still referenced in ctxt */
- obd_set_info_async(req->rq_svc_thread->t_env, export,
- sizeof(KEY_REVIMP_UPD), KEY_REVIMP_UPD,
- 0, NULL, NULL);
tmp_imp = export->exp_imp_reverse;
- }
export->exp_imp_reverse = revimp;
cfs_spin_unlock(&export->exp_lock);
* ptlrpc_handle_server_req_in->lustre_unpack_msg() */
revimp->imp_msg_magic = req->rq_reqmsg->lm_magic;
- if ((export->exp_connect_flags & OBD_CONNECT_AT) &&
- (revimp->imp_msg_magic != LUSTRE_MSG_MAGIC_V1))
- revimp->imp_msghdr_flags |= MSGHDR_AT_SUPPORT;
- else
- revimp->imp_msghdr_flags &= ~MSGHDR_AT_SUPPORT;
+ if ((data->ocd_connect_flags & OBD_CONNECT_AT) &&
+ (revimp->imp_msg_magic != LUSTRE_MSG_MAGIC_V1))
+ revimp->imp_msghdr_flags |= MSGHDR_AT_SUPPORT;
+ else
+ revimp->imp_msghdr_flags &= ~MSGHDR_AT_SUPPORT;
- if ((export->exp_connect_flags & OBD_CONNECT_FULL20) &&
+ if ((data->ocd_connect_flags & OBD_CONNECT_FULL20) &&
(revimp->imp_msg_magic != LUSTRE_MSG_MAGIC_V1))
revimp->imp_msghdr_flags |= MSGHDR_CKSUM_INCOMPAT18;
else
to = max((int)at_est2timeout(
at_get(&svcpt->scp_at_estimate)),
(int)lustre_msg_get_timeout(req->rq_reqmsg));
- /* Add net_latency (see ptlrpc_replay_req) */
- to += lustre_msg_get_service_time(req->rq_reqmsg);
+ /* Add 2 net_latency, one for balance rq_deadline
+ * (see ptl_send_rpc), one for resend the req to server,
+ * Note: client will pack net_latency in replay req
+ * (see ptlrpc_replay_req) */
+ to += 2 * lustre_msg_get_service_time(req->rq_reqmsg);
}
extend_recovery_timer(class_exp2obd(req->rq_export), to, true);
}
*/
CDEBUG(D_INFO, "3: final stage - process recovery completion pings\n");
/** Update server last boot epoch */
- lut_boot_epoch_update(lut);
+ tgt_boot_epoch_update(lut);
/* We drop recoverying flag to forward all new requests
* to regular mds_handle() since now */
cfs_spin_lock(&obd->obd_dev_lock);
struct obd_device *obd = lut->lut_obd;
if (obd->obd_max_recoverable_clients == 0) {
/** Update server last boot epoch */
- lut_boot_epoch_update(lut);
+ tgt_boot_epoch_update(lut);
return;
}