SUNRPC: new svc_bind() routine introduced

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>
This commit is contained in:
Stanislav Kinsbursky
2012-05-02 16:08:38 +04:00
committed by J. Bruce Fields
parent c52226daf5
commit 9793f7c889
6 changed files with 41 additions and 14 deletions

View File

@@ -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;