Whamcloud - gitweb
b=23820 ptlrpc_check_set()) ASSERTION(req->rq_phase == RQ_PHASE_BULK) failed
authorDmitry Zogin <dmitry.zoguine@oracle.com>
Sat, 2 Oct 2010 03:33:18 +0000 (23:33 -0400)
committerJohann Lombardi <johann.lombardi@oracle.com>
Thu, 25 Nov 2010 16:00:45 +0000 (17:00 +0100)
i=oleg.drokin
i=johann.lombardi

Handle unsent requests with rq_net_err in ptlrpc_check_set().

lustre/ptlrpc/client.c

index 2489d10..82c46e7 100644 (file)
@@ -1265,6 +1265,14 @@ int ptlrpc_check_set(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;
+                                GOTO(interpret, req->rq_status);
+                        } else {
+                                continue;
+                        }
                 }
 
                 if (req->rq_err) {