From 8687f6d74c8c8cbdf16a2797d70da869511a8e8a Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 12 Feb 2007 00:53:30 -0800 Subject: [PATCH] --- yaml --- r: 47975 b: refs/heads/master c: e79eff1f90826b207b1152fc87aa97fa74fb7f9c h: refs/heads/master i: 47973: 99bdb0e3298a910db120eef03cbc0dfe084cd5a8 47971: 355cddb18b21d304c4e7a72f73d0b601c1d8171a 47967: b037f3ab5b0503aaa9cfbe441e9b0d5e5caea936 v: v3 --- [refs] | 2 +- trunk/net/sunrpc/svcsock.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 607218fb6c49..32ac22b11cc2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 482fb94e1b0c2efe8258334aa2a68d4f4a91de9c +refs/heads/master: e79eff1f90826b207b1152fc87aa97fa74fb7f9c diff --git a/trunk/net/sunrpc/svcsock.c b/trunk/net/sunrpc/svcsock.c index d120fadeb1ae..7292baf5a741 100644 --- a/trunk/net/sunrpc/svcsock.c +++ b/trunk/net/sunrpc/svcsock.c @@ -938,7 +938,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. @@ -1546,8 +1546,6 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv, 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; } @@ -1571,8 +1569,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); @@ -1623,8 +1623,10 @@ static int svc_create_socket(struct svc_serv *serv, int protocol, 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);