From: Vitaly Fertman Date: Fri, 10 Dec 2010 23:14:33 +0000 (+0300) Subject: b=23820 Handle unsent requests with rq_net_err in ptlrpc_check_set() X-Git-Tag: 2.0.59.0~34 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=40ca6010734f52bd01fae48035040b1bce76519e;hp=fed70eb27175218596dd9e21c8d68fbb0313f8b9 b=23820 Handle unsent requests with rq_net_err in ptlrpc_check_set() i=johann i=green ptlrpc_check_set()) ASSERTION(req->rq_phase == RQ_PHASE_BULK) failed --- diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 565f3f3..214be9c 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -1494,6 +1494,15 @@ int ptlrpc_check_set(const struct lu_env *env, struct ptlrpc_request_set *set) if (ptlrpc_client_recv_or_unlink(req) || ptlrpc_client_bulk_active(req)) continue; + /* If there is no need to resend, fail it now. */ + if (req->rq_no_resend) { + if (req->rq_status == 0) + req->rq_status = -EIO; + ptlrpc_rqphase_move(req, RQ_PHASE_INTERPRET); + GOTO(interpret, req->rq_status); + } else { + continue; + } } if (req->rq_err) {