linux/fs/lockd
NeilBrown 24e36663c3 [PATCH] knfsd: be more selective in which sockets lockd listens on
Currently lockd listens on UDP always, and TCP if CONFIG_NFSD_TCP is set.

However as lockd performs services of the client as well, this is a problem.
If CONFIG_NfSD_TCP is not set, and a tcp mount is used, the server will not be
able to call back to lockd.

So:
 - add an option to lockd_up saying which protocol is needed
 - Always open sockets for which an explicit port was given, otherwise
   only open a socket of the type required
 - Change nfsd to do one lockd_up per socket rather than one per thread.

This
 - removes the dependancy on CONFIG_NFSD_TCP
 - means that lockd may open sockets other than at startup
 - means that lockd will *not* listen on UDP if the only
   mounts are TCP mount (and nfsd hasn't started).

The latter is the only one that concerns me at all - I don't know if this
might be a problem with some servers.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-02 07:57:17 -07:00
..
clntlock.c [PATCH] knfsd: be more selective in which sockets lockd listens on 2006-10-02 07:57:17 -07:00
clntproc.c [PATCH] fs: Removing useless casts 2006-09-27 08:26:10 -07:00
host.c [PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc 2006-09-27 08:26:10 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mon.c LOCKD: Convert to use new rpc_create() API 2006-09-22 23:24:50 -04:00
svc4proc.c lockd: Add helper for *_RES callbacks 2006-03-20 13:44:45 -05:00
svc.c [PATCH] knfsd: be more selective in which sockets lockd listens on 2006-10-02 07:57:17 -07:00
svclock.c NLM/lockd: remove b_done 2006-08-03 16:56:02 -04:00
svcproc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
svcshare.c LOCKD: Make nlmsvc_traverse_shares return void 2006-03-20 23:24:25 -05:00
svcsubs.c [PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc 2006-09-27 08:26:10 -07:00
xdr4.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
xdr.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00