svcrdma: Remove close_out exit path
authorChuck Lever <chuck.lever@oracle.com>
Tue, 1 Mar 2016 18:07:05 +0000 (13:07 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 1 Mar 2016 21:06:41 +0000 (13:06 -0800)
Clean up: close_out is reached only when ctxt == NULL and XPT_CLOSE
is already set.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Devesh Sharma <devesh.sharma@broadcom.com>
Tested-by: Devesh Sharma <devesh.sharma@broadcom.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c

index f8b840b17c025253df61f768feddaf1b5feb4179..d3718e94c169ce0b24b180ed27bdae5cb4145f4a 100644 (file)
@@ -641,8 +641,7 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
                 * transport list
                 */
                if (test_bit(XPT_CLOSE, &xprt->xpt_flags))
-                       goto close_out;
-
+                       goto defer;
                goto out;
        }
        dprintk("svcrdma: processing ctxt=%p on xprt=%p, rqstp=%p, status=%d\n",
@@ -700,15 +699,6 @@ out_err:
        svc_rdma_put_context(ctxt, 0);
        return 0;
 
- close_out:
-       if (ctxt)
-               svc_rdma_put_context(ctxt, 1);
-       dprintk("svcrdma: transport %p is closing\n", xprt);
-       /*
-        * Set the close bit and enqueue it. svc_recv will see the
-        * close bit and call svc_xprt_delete
-        */
-       set_bit(XPT_CLOSE, &xprt->xpt_flags);
 defer:
        return 0;