From 03fbbb520832d9d1ed3f48583686be7071255b75 Mon Sep 17 00:00:00 2001 From: yury Date: Thu, 6 Nov 2008 13:39:20 +0000 Subject: [PATCH] b=17310 - make sure that rpcs in RQ_PHASE_UNREGISTERING phase can be marked expired and interrupted. --- lustre/ptlrpc/client.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 4868d57..5211006 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -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); -- 1.8.3.1