mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 06:32:08 +00:00
[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>
This commit is contained in:
parent
bc591ccff2
commit
24e36663c3
5 changed files with 54 additions and 16 deletions
|
@ -30,7 +30,7 @@ extern struct nlmsvc_binding * nlmsvc_ops;
|
|||
* Functions exported by the lockd module
|
||||
*/
|
||||
extern int nlmclnt_proc(struct inode *, int, struct file_lock *);
|
||||
extern int lockd_up(void);
|
||||
extern int lockd_up(int proto);
|
||||
extern void lockd_down(void);
|
||||
|
||||
#endif /* LINUX_LOCKD_BIND_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue