Whamcloud - gitweb
* add a bit in ptlrpc_request to indicate ptlrpcs error, gss recovery
[fs/lustre-release.git] / lustre / ptlrpc / niobuf.c
index af48920..7cdb908 100644 (file)
@@ -450,8 +450,9 @@ int ptl_send_rpc(struct ptlrpc_request *request)
         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;
@@ -478,7 +479,6 @@ int ptl_send_rpc(struct ptlrpc_request *request)
         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, 
@@ -694,10 +694,13 @@ int ptlrpc_do_rawrpc(struct obd_import *imp,
         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;