aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/svcsock.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-08-14 15:50:34 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-08-21 17:07:48 -0400
commit39b553013719fe6495cf5e496b827b2d712e4265 (patch)
tree27e4c71fa94f08e19b4709c25a81b5eecf23c5ba /net/sunrpc/svcsock.c
parentsvcrpc: make svc_create_xprt enqueue on clearing XPT_BUSY (diff)
downloadlinux-dev-39b553013719fe6495cf5e496b827b2d712e4265.tar.xz
linux-dev-39b553013719fe6495cf5e496b827b2d712e4265.zip
svcrpc: share some setup of listening sockets
There's some duplicate code here. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/svcsock.c')
-rw-r--r--net/sunrpc/svcsock.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index bf10b723f429..c7a7b14f54ed 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -1478,11 +1478,7 @@ int svc_addsock(struct svc_serv *serv, const int fd, char *name_return,
}
if (kernel_getsockname(svsk->sk_sock, sin, &salen) == 0)
svc_xprt_set_local(&svsk->sk_xprt, sin, salen);
- clear_bit(XPT_TEMP, &svsk->sk_xprt.xpt_flags);
- spin_lock_bh(&serv->sv_lock);
- list_add(&svsk->sk_xprt.xpt_list, &serv->sv_permsocks);
- spin_unlock_bh(&serv->sv_lock);
- svc_xprt_received(&svsk->sk_xprt);
+ svc_add_new_perm_xprt(serv, &svsk->sk_xprt);
return svc_one_sock_name(svsk, name_return, len);
out:
sockfd_put(so);