freebsd-dev/sys/fs
Rick Macklem 46269d66ed NFSv4 server: Re-establish the delegation recall timeout
Commit 7a606f280a allowed the server to do retries of CB_RECALL
callbacks every couple of seconds.  This was needed to allow the
Linux client to re-establish the back channel.
However this patch broke the delegation timeout check, such that
it would just keep retrying CB_RECALLS.
If the client has crashed or been network patitioned from the
server, this continues until the client TCP reconnects to
the server and re-establishes the back channel.

This patch modifies the code such that it still times out the
delegation recall after some minutes, so that the server will
allow the conflicting client request once the delegation times out.

This patch only affects the NFSv4 server when delegations are
enabled and a NFSv4 client that holds a delegation has crashed
or been network partitioned from the server for at least several
minutes when a delegation needs to be recalled.

MFC after:	2 weeks
2021-05-16 16:40:01 -07:00
..
autofs Ensure that dirent's d_off field is initialized 2021-01-03 11:50:31 -05:00
cd9660 Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
cuse Fix for loading cuse.ko via rc.d . Make sure we declare the cuse(3) 2020-10-23 08:44:53 +00:00
deadfs vn_open(): If the vnode is reclaimed during open(2), do not return error. 2021-02-12 03:02:20 +02:00
devfs devfs: Avoid comparison with an uninitialized var in devfs_fp_check() 2021-05-03 13:24:30 -04:00
ext2fs Make encode/decode extra time functions inline. 2021-05-08 06:42:20 +03:00
fdescfs Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
fifofs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
fuse fusefs: fix a dead store in fuse_vnop_advlock 2021-03-19 19:38:57 -06:00
mntfs Add a new "mntfs" pseudo file system which provides private device vnodes for 2020-03-06 18:41:37 +00:00
msdosfs Fix makefs bootstrap after d485c77f20 2021-02-22 17:55:45 +00:00
nfs nfscl: Add support for va_birthtime to NFSv4 2021-05-07 17:30:56 -07:00
nfsclient nfscl: Delete unneeded redundant MODULE_DEPEND() calls 2021-05-10 17:34:29 -07:00
nfsserver NFSv4 server: Re-establish the delegation recall timeout 2021-05-16 16:40:01 -07:00
nullfs nullfs: protect against user creating inconsistent state 2021-04-02 15:40:25 +03:00
procfs procfs_map: switch to use vm_object_kvme_type 2021-05-13 20:10:35 +03:00
pseudofs pseudofs: limit writes to 1M 2021-04-14 10:23:21 +03:00
smbfs Ensure that dirent's d_off field is initialized 2021-01-03 11:50:31 -05:00
tmpfs tmpfs: reimplement the mtime scan to use the lazy list 2021-05-15 20:48:45 +00:00
udf Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
unionfs Split out cwd/root/jail, cmask state from filedesc table 2020-11-17 21:14:13 +00:00