req->rq_timedout = 1;
cfs_spin_unlock(&req->rq_lock);
- DEBUG_REQ(req->rq_fake ? D_INFO : D_WARNING, req,
- "Request x"LPU64" sent from %s to NID %s "CFS_DURATION_T"s "
- "ago has %s ("CFS_DURATION_T"s prior to deadline).\n",
+ DEBUG_REQ(req->rq_fake ? D_INFO : D_WARNING, req, "Request x"LPU64
+ " sent from %s to NID %s has %s: [sent "CFS_DURATION_T"] "
+ "[real_sent "CFS_DURATION_T"] [current "CFS_DURATION_T"] "
+ "[deadline "CFS_DURATION_T"s] [delay "CFS_DURATION_T"s]",
req->rq_xid, imp ? imp->imp_obd->obd_name : "<?>",
- imp ? libcfs_nid2str(imp->imp_connection->c_peer.nid) : "<?>",
- cfs_time_sub(cfs_time_current_sec(), req->rq_sent),
- req->rq_net_err ? "failed due to network error" : "timed out",
- cfs_time_sub(req->rq_deadline, req->rq_sent));
+ imp ? libcfs_nid2str(imp->imp_connection->c_peer.nid) : "<?>",
+ req->rq_net_err ? "failed due to network error" :
+ ((req->rq_real_sent == 0 ||
+ cfs_time_before(req->rq_real_sent, req->rq_sent) ||
+ cfs_time_aftereq(req->rq_real_sent, req->rq_deadline)) ?
+ "timed out for sent delay" : "timed out for slow reply"),
+ req->rq_sent, req->rq_real_sent, cfs_time_current_sec(),
+ cfs_time_sub(req->rq_deadline, req->rq_sent),
+ cfs_time_sub(cfs_time_current_sec(), req->rq_deadline));
if (imp != NULL && obd_debug_peer_on_timeout)
LNetCtl(IOC_LIBCFS_DEBUG_PEER, &imp->imp_connection->c_peer);