Whamcloud - gitweb
b=17310
authoryury <yury>
Thu, 6 Nov 2008 13:39:20 +0000 (13:39 +0000)
committeryury <yury>
Thu, 6 Nov 2008 13:39:20 +0000 (13:39 +0000)
- make sure that rpcs in RQ_PHASE_UNREGISTERING phase can be marked expired and interrupted.

lustre/ptlrpc/client.c

index 4868d57..5211006 100644 (file)
@@ -1369,7 +1369,8 @@ int ptlrpc_expired_set(void *data)
                         list_entry(tmp, struct ptlrpc_request, rq_set_chain);
 
                 /* Request in-flight? */
-                if (!((req->rq_phase == RQ_PHASE_RPC &&
+                if (!((req->rq_phase & 
+                       (RQ_PHASE_RPC & RQ_PHASE_UNREGISTERING) &&
                        !req->rq_waiting && !req->rq_resend) ||
                       (req->rq_phase == RQ_PHASE_BULK)))
                         continue;
@@ -1408,7 +1409,8 @@ void ptlrpc_interrupted_set(void *data)
                 struct ptlrpc_request *req =
                         list_entry(tmp, struct ptlrpc_request, rq_set_chain);
 
-                if (req->rq_phase != RQ_PHASE_RPC)
+                if (req->rq_phase != RQ_PHASE_RPC &&
+                    req->rq_phase != RQ_PHASE_UNREGISTERING)
                         continue;
 
                 ptlrpc_mark_interrupted(req);