if (rc == 0) {
rc = ptlrpc_start_bulk_transfer(desc);
if (rc == 0) {
+ struct timeval tstart, now;
+ do_gettimeofday(&tstart);
lwi = LWI_TIMEOUT(obd_timeout * HZ / 4,
ost_bulk_timeout, desc);
rc = l_wait_event(desc->bd_waitq,
!ptlrpc_bulk_active(desc), &lwi);
LASSERT(rc == 0 || rc == -ETIMEDOUT);
+ do_gettimeofday(&now);
if (rc == -ETIMEDOUT) {
DEBUG_REQ(D_ERROR, req, "timeout on bulk PUT"
- ", expt_conn_cnt = %u",
- req->rq_export->exp_conn_cnt);
+ ", expt_conn_cnt = %u, real wait %us"
+ ", arrived %u.%u, served %u.%u",
+ req->rq_export->exp_conn_cnt,
+ (unsigned) (now.tv_sec - tstart.tv_sec),
+ (unsigned) req->rq_arrival_time.tv_sec,
+ (unsigned) req->rq_arrival_time.tv_usec,
+ (unsigned) req->rq_rpcd_start.tv_sec,
+ (unsigned) req->rq_rpcd_start.tv_usec);
ptlrpc_abort_bulk(desc);
} else if (!desc->bd_success ||
desc->bd_nob_transferred != desc->bd_nob) {