else
rc = PtlGet (desc->bd_md_h, peer->peer_id,
desc->bd_portal, 0, xid, 0);
-
+
if (rc != PTL_OK) {
/* Can't send, so we unlink the MD bound above. The UNLINK
* event this creates will signal completion with failure,
LASSERT (!desc->bd_registered || req->rq_xid != desc->bd_last_xid);
desc->bd_registered = 1;
desc->bd_last_xid = req->rq_xid;
-
- rc = PtlMEAttach(peer->peer_ni->pni_ni_h,
- desc->bd_portal, desc->bd_import->imp_connection->c_peer.peer_id,
+
+ rc = PtlMEAttach(peer->peer_ni->pni_ni_h, desc->bd_portal,
+ desc->bd_import->imp_connection->c_peer.peer_id,
req->rq_xid, 0, PTL_UNLINK, PTL_INS_AFTER, &me_h);
if (rc != PTL_OK) {
CERROR("PtlMEAttach failed: %d\n", rc);
rc = PtlMEAttach(connection->c_peer.peer_ni->pni_ni_h,
request->rq_reply_portal, /* XXX FIXME bug 249 */
- connection->c_peer.peer_id, request->rq_xid, 0, PTL_UNLINK,
- PTL_INS_AFTER, &reply_me_h);
+ connection->c_peer.peer_id, request->rq_xid, 0,
+ PTL_UNLINK, PTL_INS_AFTER, &reply_me_h);
if (rc != PTL_OK) {
CERROR("PtlMEAttach failed: %d\n", rc);
LASSERT (rc == PTL_NO_SPACE);
request->rq_timedout = 0;
request->rq_net_err = 0;
request->rq_resend = 0;
- request->rq_ptlrpcs_restart = 0;
request->rq_restart = 0;
+ request->rq_ptlrpcs_restart = 0;
+ request->rq_ptlrpcs_err = 0;
spin_unlock_irqrestore (&request->rq_lock, flags);
reply_md.start = request->rq_repbuf;
ptlrpc_request_addref(request); /* +1 ref for the SENT callback */
request->rq_sent = LTIME_S(CURRENT_TIME);
- ptlrpc_pinger_sending_on_import(request->rq_import);
rc = ptl_send_buf(&request->rq_req_md_h,
request->rq_reqbuf, request->rq_reqdata_len,
PTL_NOACK_REQ, &request->rq_req_cbid,
LASSERT(imp);
class_import_get(imp);
if (imp->imp_state == LUSTRE_IMP_CLOSED) {
- CWARN("raw rpc on closed imp(=>%s)? send anyway\n",
+ CDEBUG(D_SEC, "raw rpc on closed imp(=>%s)? send anyway\n",
imp->imp_target_uuid.uuid);
}
if (request.rq_err || request.rq_resend || request.rq_intr ||
request.rq_timedout || !request.rq_replied) {
CERROR("secinit rpc error: err %d, resend %d, "
- "intr %d, timeout %d, replied %d\n",
+ "intr %d, timedout %d, replied %d\n",
request.rq_err, request.rq_resend, request.rq_intr,
request.rq_timedout, request.rq_replied);
- rc = -EINVAL;
+ if (request.rq_timedout)
+ rc = -ETIMEDOUT;
+ else
+ rc = -EINVAL;
} else {
*replenp = request.rq_nob_received;
rc = 0;