[PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper
Sometimes we need to create an RPC service but not register it with the local portmapper. NFSv4 delegation callback, for example. Change the svc_makesock() API to allow optionally creating temporary or permanent sockets, optionally registering with the local portmapper, and make it return the ephemeral port of the new socket. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Cc: Aurelien Charbon <aurelien.charbon@ext.bull.net> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
6b174337e5
commit
482fb94e1b
@ -1689,9 +1689,11 @@ void svc_close_socket(struct svc_sock *svsk)
|
||||
* @serv: RPC server structure
|
||||
* @protocol: transport protocol to use
|
||||
* @port: port to use
|
||||
* @flags: requested socket characteristics
|
||||
*
|
||||
*/
|
||||
int svc_makesock(struct svc_serv *serv, int protocol, unsigned short port)
|
||||
int svc_makesock(struct svc_serv *serv, int protocol, unsigned short port,
|
||||
int flags)
|
||||
{
|
||||
struct sockaddr_in sin = {
|
||||
.sin_family = AF_INET,
|
||||
@ -1700,7 +1702,7 @@ int svc_makesock(struct svc_serv *serv, int protocol, unsigned short port)
|
||||
};
|
||||
|
||||
dprintk("svc: creating socket proto = %d\n", protocol);
|
||||
return svc_create_socket(serv, protocol, &sin, SVC_SOCK_DEFAULTS);
|
||||
return svc_create_socket(serv, protocol, &sin, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user