lkml.org 
[lkml]   [2007]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 003 of 14] knfsd: SUNRPC: aplit svc_sock_enqueue out of svc_setup_socket.

    Rather than calling svc_sock_enqueue at the end of svc_setup_socket,
    we now call it (via svc_sock_recieved) after calling svc_setup_socket
    at each call site.

    We do this because a subsequent patch will insert some code between
    the two calls at one call site.

    Signed-off-by: Neil Brown <neilb@suse.de>

    ### Diffstat output
    ./net/sunrpc/svcsock.c | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    diff .prev/net/sunrpc/svcsock.c ./net/sunrpc/svcsock.c
    --- .prev/net/sunrpc/svcsock.c 2007-02-02 15:15:11.000000000 +1100
    +++ ./net/sunrpc/svcsock.c 2007-02-02 15:18:37.000000000 +1100
    @@ -925,7 +925,7 @@ svc_tcp_accept(struct svc_sock *svsk)
    if (!(newsvsk = svc_setup_socket(serv, newsock, &err,
    (SVC_SOCK_ANONYMOUS | SVC_SOCK_TEMPORARY))))
    goto failed;
    -
    + svc_sock_received(newsvsk);

    /* make sure that we don't have too many active connections.
    * If we have, something must be dropped.
    @@ -1532,8 +1532,6 @@ static struct svc_sock *svc_setup_socket
    dprintk("svc: svc_setup_socket created %p (inet %p)\n",
    svsk, svsk->sk_sk);

    - clear_bit(SK_BUSY, &svsk->sk_flags);
    - svc_sock_enqueue(svsk);
    return svsk;
    }

    @@ -1557,8 +1555,10 @@ int svc_addsock(struct svc_serv *serv,
    err = -EISCONN;
    else {
    svsk = svc_setup_socket(serv, so, &err, SVC_SOCK_DEFAULTS);
    - if (svsk)
    + if (svsk) {
    + svc_sock_received(svsk);
    err = 0;
    + }
    }
    if (err) {
    sockfd_put(so);
    @@ -1609,8 +1609,10 @@ static int svc_create_socket(struct svc_
    goto bummer;
    }

    - if ((svsk = svc_setup_socket(serv, sock, &error, flags)) != NULL)
    + if ((svsk = svc_setup_socket(serv, sock, &error, flags)) != NULL) {
    + svc_sock_received(svsk);
    return ntohs(inet_sk(svsk->sk_sk)->sport);
    + }

    bummer:
    dprintk("svc: svc_create_socket error = %d\n", -error);
    -
    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: 2007-02-02 05:49    [W:2.664 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site