lkml.org 
[lkml]   [2006]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 004 of 14] knfsd: SUNRPC: Don't set msg_name and msg_namelen when calling sock_recvmsg

    From: Chuck Lever <chuck.lever@oracle.com>
    Clean-up: msg_name and msg_namelen are not used by sock_recvmsg, so
    don't bother to set them in svc_recvfrom.

    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Signed-off-by: Neil Brown <neilb@suse.de>

    ### Diffstat output
    ./net/sunrpc/svcsock.c | 23 ++++++++---------------
    1 file changed, 8 insertions(+), 15 deletions(-)
    diff .prev/net/sunrpc/svcsock.c ./net/sunrpc/svcsock.c
    --- .prev/net/sunrpc/svcsock.c 2006-12-13 10:29:13.000000000 +1100
    +++ ./net/sunrpc/svcsock.c 2006-12-13 10:29:15.000000000 +1100
    @@ -560,21 +560,14 @@ svc_recv_available(struct svc_sock *svsk
    static int
    svc_recvfrom(struct svc_rqst *rqstp, struct kvec *iov, int nr, int buflen)
    {
    - struct msghdr msg;
    - struct socket *sock;
    - int len, alen;
    -
    - rqstp->rq_addrlen = sizeof(rqstp->rq_addr);
    - sock = rqstp->rq_sock->sk_sock;
    -
    - msg.msg_name = &rqstp->rq_addr;
    - msg.msg_namelen = sizeof(rqstp->rq_addr);
    - msg.msg_control = NULL;
    - msg.msg_controllen = 0;
    -
    - msg.msg_flags = MSG_DONTWAIT;
    + struct svc_sock *svsk = rqstp->rq_sock;
    + struct msghdr msg = {
    + .msg_flags = MSG_DONTWAIT,
    + };
    + int len;

    - len = kernel_recvmsg(sock, &msg, iov, nr, buflen, MSG_DONTWAIT);
    + len = kernel_recvmsg(svsk->sk_sock, &msg, iov, nr, buflen,
    + msg.msg_flags);

    /* sock_recvmsg doesn't fill in the name/namelen, so we must..
    */
    @@ -582,7 +575,7 @@ svc_recvfrom(struct svc_rqst *rqstp, str
    rqstp->rq_addrlen = svsk->sk_remotelen;

    dprintk("svc: socket %p recvfrom(%p, %Zu) = %d\n",
    - rqstp->rq_sock, iov[0].iov_base, iov[0].iov_len, len);
    + svsk, iov[0].iov_base, iov[0].iov_len, len);

    return len;
    }
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2006-12-13 01:25    [W:0.522 / U:0.480 seconds]
    ©2003-2011 Jasper Spaans. Advertise on this site