freebsd-dev/sys/fs
Rick Macklem 271f6d52a6 nfsd: Fix session slot freeing for NFSv4.1/4.2
Without this patch the NFSv4.1/4.2 server erroneously
always frees session slot zero for callbacks.  This only
affects 4.1/4.2 mounts if the server has delegations
enabled or is a pNFS configuration.  Even for those
cases, the effect is mainly to only use slot 0 for
callbacks, serializing all of them.  There is a slight
chance that callbacks will fail if the client performs
them in a different order than received on the TCP
connection.

If this bug affects your server, you will see console
messages like:
  newnfs_request: Bad session slot

This patch fixes the problem.  Found during a recent
IETF NFSv4 testing event.

PR:	263728
MFC after:	2 weeks
2022-05-02 12:47:43 -07:00
..
autofs vfs: remove cn_thread 2021-10-11 13:21:47 +00:00
cd9660 vfs: NDFREE(&nd, NDF_ONLY_PNBUF) -> NDFREE_PNBUF(&nd) 2022-03-24 10:20:51 +00:00
cuse
deadfs
devfs fs: fix a few common typos in source code comments 2022-02-06 13:48:31 +01:00
ext2fs ext2: plug a set-but-not-used var 2022-04-19 12:45:57 +00:00
fdescfs insmntque1(): remove useless arguments 2022-01-31 16:49:08 +02:00
fifofs fifos: delegate unhandled kqueue filters to underlying filesystem 2021-10-12 02:43:07 -05:00
fuse fusefs: use the fsname mount option if set 2022-04-29 11:10:03 -06:00
mntfs mntfs: lock mntfs pseudo devfs vnode properly 2021-11-13 01:00:41 +02:00
msdosfs vfs: NDFREE(&nd, NDF_ONLY_PNBUF) -> NDFREE_PNBUF(&nd) 2022-03-24 10:20:51 +00:00
nfs nfscl: Add support for a NFSv4 AppendWrite RPC 2022-04-30 13:49:23 -07:00
nfsclient nfscl: Add support for a NFSv4 AppendWrite RPC 2022-04-30 13:49:23 -07:00
nfsserver nfsd: Fix session slot freeing for NFSv4.1/4.2 2022-05-02 12:47:43 -07:00
nullfs vfs: NDFREE(&nd, NDF_ONLY_PNBUF) -> NDFREE_PNBUF(&nd) 2022-03-24 10:20:51 +00:00
procfs procfs_doprocfile(): simplify 2021-11-04 06:13:47 +02:00
pseudofs pseudofs: Destroy vncache hashtbl on pseudofs module unload. 2021-12-09 21:41:08 +00:00
smbfs smbfs: Remove unused variable. 2022-04-07 17:01:28 -07:00
tmpfs insmntque1(): remove useless arguments 2022-01-31 16:49:08 +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