diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-06-25 16:40:08 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-16 09:04:39 -0700 |
commit | 10762419cafd82a9a3a6f68bef54c29f1af75842 (patch) | |
tree | 45e0a1689e4ffa4c94fc09c9c72d454fab1e6639 /fs/lockd/svc.c | |
parent | 0bbc9d1b4b011e83ba65852b1d652561c7f562f1 (diff) | |
download | linux-3.10-10762419cafd82a9a3a6f68bef54c29f1af75842.tar.gz linux-3.10-10762419cafd82a9a3a6f68bef54c29f1af75842.tar.bz2 linux-3.10-10762419cafd82a9a3a6f68bef54c29f1af75842.zip |
SUNRPC: new svc_bind() routine introduced
upstream commit 9793f7c88937e7ac07305ab1af1a519225836823.
This new routine is responsible for service registration in a specified
network context.
The idea is to separate service creation from per-net operations.
Note also: since registering service with svc_bind() can fail, the
service will be destroyed and during destruction it will try to
unregister itself from rpcbind. In this case unregistration has to be
skipped.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/lockd/svc.c')
-rw-r--r-- | fs/lockd/svc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 1ead0750cdb..b7e92ed5688 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -324,6 +324,12 @@ int lockd_up(struct net *net) goto out; } + error = svc_bind(serv, net); + if (error < 0) { + printk(KERN_WARNING "lockd_up: bind service failed\n"); + goto destroy_and_out; + } + error = make_socks(serv, net); if (error < 0) goto destroy_and_out; |