kernel-ark/net/sunrpc
Tom Tucker a217813f90 knfsd: Support adding transports by writing portlist file
Update the write handler for the portlist file to allow creating new
listening endpoints on a transport. The general form of the string is:

<transport_name><space><port number>

For example:

echo "tcp 2049" > /proc/fs/nfsd/portlist

This is intended to support the creation of a listening endpoint for
RDMA transports without adding #ifdef code to the nfssvc.c file.

Transports can also be removed as follows:

'-'<transport_name><space><port number>

For example:

echo "-tcp 2049" > /proc/fs/nfsd/portlist

Attempting to add a listener with an invalid transport string results
in EPROTONOSUPPORT and a perror string of "Protocol not supported".

Attempting to remove an non-existent listener (.e.g. bad proto or port)
results in ENOTCONN and a perror string of
"Transport endpoint is not connected"

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Acked-by: Neil Brown <neilb@suse.de>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Greg Banks <gnb@sgi.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2008-02-01 16:42:13 -05:00
..
auth_gss svcrpc: ensure gss DESTROY tokens free contexts from cache 2008-02-01 16:42:07 -05:00
xprtrdma SUNRPC: Clean up functions that free address_strings array 2008-01-30 02:06:08 -05:00
auth_null.c
auth_unix.c
auth.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
cache.c knfsd: allow cache_register to return error on failure 2008-02-01 16:42:05 -05:00
clnt.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
Makefile svc: Add an svc transport class 2008-02-01 16:42:07 -05:00
rpc_pipe.c SUNRPC: Remove an unneeded implicit type cast when calling rpc_depopulate() 2008-01-30 02:05:43 -05:00
rpcb_clnt.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
sched.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
socklib.c SUNRPC: temp var should match return type of xdr_skb_read_actor 2008-01-30 02:05:43 -05:00
stats.c SUNRPC: Restrict sunrpc client exports 2008-01-30 02:05:28 -05:00
sunrpc_syms.c svc: Change services to use new svc_create_xprt service 2008-02-01 16:42:09 -05:00
svc_xprt.c knfsd: Support adding transports by writing portlist file 2008-02-01 16:42:13 -05:00
svc.c svc: Make close transport independent 2008-02-01 16:42:11 -05:00
svcauth_unix.c svc: Move the authinfo cache to svc_xprt. 2008-02-01 16:42:12 -05:00
svcauth.c
svcsock.c svc: Add transport hdr size for defer/revisit 2008-02-01 16:42:13 -05:00
sysctl.c svc: Add /proc/sys/sunrpc/transport files 2008-02-01 16:42:13 -05:00
timer.c
xdr.c SUNRPC: Use unsigned string lengths in xdr_decode_string_inplace 2008-02-01 16:42:02 -05:00
xprt.c SUNRPC: Add support for per-client timeout values 2008-01-30 02:05:59 -05:00
xprtsock.c SUNRPC: Clean up functions that free address_strings array 2008-01-30 02:06:08 -05:00