]> err.no Git - linux-2.6/commitdiff
svc: Make svc_sock_release svc_xprt_release
authorTom Tucker <tom@opengridcomputing.com>
Mon, 31 Dec 2007 03:08:14 +0000 (21:08 -0600)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 1 Feb 2008 21:42:12 +0000 (16:42 -0500)
The svc_sock_release function only touches transport independent fields.
Change the function to manipulate svc_xprt directly instead of the transport
dependent svc_sock structure.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Acked-by: Neil Brown <neilb@suse.de>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Greg Banks <gnb@sgi.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
net/sunrpc/svcsock.c

index 9564d2e9520e8276951645448d9f53985fe03f58..355ab8da54fec4f830e95b8468531dd7eef4051d 100644 (file)
@@ -368,10 +368,9 @@ void svc_reserve(struct svc_rqst *rqstp, int space)
        }
 }
 
-static void
-svc_sock_release(struct svc_rqst *rqstp)
+static void svc_xprt_release(struct svc_rqst *rqstp)
 {
-       struct svc_sock *svsk = rqstp->rq_sock;
+       struct svc_xprt *xprt = rqstp->rq_xprt;
 
        rqstp->rq_xprt->xpt_ops->xpo_release_rqst(rqstp);
 
@@ -379,7 +378,6 @@ svc_sock_release(struct svc_rqst *rqstp)
        rqstp->rq_res.page_len = 0;
        rqstp->rq_res.page_base = 0;
 
-
        /* Reset response buffer and release
         * the reservation.
         * But first, check that enough space was reserved
@@ -392,9 +390,9 @@ svc_sock_release(struct svc_rqst *rqstp)
 
        rqstp->rq_res.head[0].iov_len = 0;
        svc_reserve(rqstp, 0);
-       rqstp->rq_sock = NULL;
+       rqstp->rq_xprt = NULL;
 
-       svc_xprt_put(&svsk->sk_xprt);
+       svc_xprt_put(xprt);
 }
 
 /*
@@ -1593,7 +1591,7 @@ svc_recv(struct svc_rqst *rqstp, long timeout)
        /* No data, incomplete (TCP) read, or accept() */
        if (len == 0 || len == -EAGAIN) {
                rqstp->rq_res.len = 0;
-               svc_sock_release(rqstp);
+               svc_xprt_release(rqstp);
                return -EAGAIN;
        }
        clear_bit(XPT_OLD, &svsk->sk_xprt.xpt_flags);
@@ -1613,7 +1611,7 @@ void
 svc_drop(struct svc_rqst *rqstp)
 {
        dprintk("svc: socket %p dropped request\n", rqstp->rq_sock);
-       svc_sock_release(rqstp);
+       svc_xprt_release(rqstp);
 }
 
 /*
@@ -1646,7 +1644,7 @@ svc_send(struct svc_rqst *rqstp)
        else
                len = xprt->xpt_ops->xpo_sendto(rqstp);
        mutex_unlock(&xprt->xpt_mutex);
-       svc_sock_release(rqstp);
+       svc_xprt_release(rqstp);
 
        if (len == -ECONNREFUSED || len == -ENOTCONN || len == -EAGAIN)
                return 0;