freebsd-dev/sys/fs
Rick Macklem 33721eb991 nfscl: Allow "nolockd" to work for NFSv4 mounts
Commit 40ada74ee1 modified the NFSv4.1/4.2 client so
that it would issue a DestroySession to the server when
all session slots are marked bad.  This handles the
case where session slots get broken when "intr" or "soft"
NFSv4 fairly well.1/4.2 mounts are done.

There are two other cases where having an NFSv4.1/4.2
RPC attempt terminate without completion can leave
state in a non-determinate condition.

One is file locking RPCs.  If the "nolockd" option is
used, this avoids file locking RPCs by doing locking
locally within the client.

The other is Open locks, but since all FreeBSD Open
locks are done with OPEN_SHARE_DENY_NONE, the locking
state for these should not be critical.

This patch enables use of "nolockd" for NFSv4 mounts,
so that it can be combined with "intr" and/or "soft",
making the latter more usable.

Use of "intr" or "soft" NFSv4 mounts are still not
recommended, but when combined with "nolockd" should
now work fairly well.

A man page update will be done as a separate commit.

MFC after:	2 weeks
2022-09-04 13:09:33 -07:00
..
autofs
cd9660 cd9660: Use ANSI (c89) prototypes 2022-07-17 08:14:49 -04:00
cuse cuse(3): Allow shared memory allocations up to, but excluding 2 GBytes. 2022-07-20 10:41:11 +02:00
deadfs
devfs Retire clone_drain_lock 2022-08-20 09:44:05 +00:00
ext2fs ext2: plug a set-but-not-used var 2022-04-19 12:45:57 +00:00
fdescfs fdescfs: allow chown/utime etc on fdescfs fd for underlying files opened with O_PATH 2022-06-06 22:27:36 +03:00
fifofs
fuse fusefs: handle evil servers that return illegal inode numbers 2022-05-12 14:32:26 -06:00
mntfs
msdosfs msdosfs(5): Remove a double word in a source code comment 2022-09-04 17:34:52 +02:00
nfs nfscl: Fix setup of Sequence when all slots marked bad 2022-08-28 14:36:45 -07:00
nfsclient nfscl: Allow "nolockd" to work for NFSv4 mounts 2022-09-04 13:09:33 -07:00
nfsserver nfsd: Update console message for no session found 2022-08-27 18:31:20 -07:00
nullfs nullfs(5): Fix a typo in a source code comment 2022-08-07 14:04:53 +02:00
procfs vm_pager: Remove references to KVME_TYPE_DEFAULT in the kernel 2022-07-17 07:09:48 -04:00
pseudofs
smbfs smbfs: Remove unused variable. 2022-04-07 17:01:28 -07:00
tmpfs tmpfs(5): Remove a double word in a source code comment 2022-09-04 13:51:50 +02:00
udf vfs: NDFREE(&nd, NDF_ONLY_PNBUF) -> NDFREE_PNBUF(&nd) 2022-03-24 10:20:51 +00:00
unionfs unionfs: Use __diagused for a variable only used in KASSERT(). 2022-04-13 16:08:20 -07:00