freebsd-dev/sys/fs
Rick Macklem a3e709cd33 Modify the NFSv4.1 server so that it allows ReclaimComplete as done by ESXi 6.7.
I believe that a ReclaimComplete with rca_one_fs == TRUE is only
to be used after a file system has been transferred to a different
file server.  However, RFC5661 is somewhat vague w.r.t. this and
the ESXi 6.7 client does both a ReclaimComplete with rca_one_fs == TRUE
and one with ReclaimComplete with rca_one_fs == FALSE.
Therefore, just ignore the rca_one_fs == TRUE operation and return
NFS_OK without doing anything instead of replying NFS4ERR_NOTSUPP.
This allows the ESXi 6.7 NFSv4.1 client to do a mount.
After discussion on the NFSv4 IETF working group mailing list, doing this
along with setting a flag to note that a ReclaimComplete with rca_one_fs TRUE
was an appropriate way to handle this.
The flag that indicates that a ReclaimComplete with rca_one_fs == TRUE was
done may be used to disable replies of NFS4ERR_GRACE for non-reclaim
state operations in a future commit.

This patch along with r332790, r334492 and r336357 allow ESXi 6.7 NFSv4.1 mounts
work ok. ESX 6.5 NFSv4.1 mounts do not work well, due to what I believe are
violations of RFC-5661 and should not be used.

Reported by:	andreas.nagy@frequentis.com
Tested by:	andreas.nagy@frequentis.com, daniel@ftml.net (earlier version)
MFC after:	2 weeks
Relnotes:	yes
2018-07-28 20:21:04 +00:00
..
autofs Add SPDX tags to autofs(5). 2018-01-24 16:40:26 +00:00
cd9660 Add isoboot(8) for booting BIOS systems from HDDs containing ISO images. 2018-04-05 19:40:46 +00:00
cuse Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
deadfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
devfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
ext2fs Fix directory blocks checksumming. 2018-05-13 19:48:30 +00:00
fdescfs Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
fifofs Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
fuse Allow mounting FUSE filesystems in jails 2018-07-20 21:35:31 +00:00
msdosfs Revert msdosfs MAKEFS #ifdef changes from r319870 2018-07-24 21:10:17 +00:00
nandfs Revert r313780 (UFS_ prefix) 2018-03-17 12:59:55 +00:00
nfs Modify the NFSv4.1 server so that it allows ReclaimComplete as done by ESXi 6.7. 2018-07-28 20:21:04 +00:00
nfsclient Use https over http for FreeBSD pages 2018-07-27 10:40:48 +00:00
nfsserver Modify the NFSv4.1 server so that it allows ReclaimComplete as done by ESXi 6.7. 2018-07-28 20:21:04 +00:00
nullfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
procfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
pseudofs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
smbfs Use long for the last argument to VOP_PATHCONF rather than a register_t. 2018-01-17 22:36:58 +00:00
tmpfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
udf Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
unionfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00