opnsense-src/sys/fs/nfs
Rick Macklem a6b4af5e07 nfsd: Add support for the NFSv4.2 change_attr_type attribute
Richard Kojedzinszky reported an intermittent problem where
the Linux NFSv4.2 client would sometimes not see changes done
to a directory by another client, although the change attribute
for the directory had changed.

A test patch that added the change_attr_type attribute to the
server and always returned NFS4_CHANGE_TYPE_VERSION_COUNTER_NOPNFS
seems to have resolved the issue.  Somewhat oddly, the Linux
knfsd server does not support this attribute but does not
seem to exhibit the stale caching problem.

This patch uses the VFCF_FILEREVINC flag on a file system (UFS, ZFS)
to return NFS4_CHANGE_TYPE_VERSION_COUNTER_NOPNFS.  It also
returns NFS4_CHANGE_TYPE_TIME_METADATA if VFCF_FILEREVCT is set,
which may be useful for exported fuse file systems.

PR:	284186

(cherry picked from commit 709c18911ad70978d47198556c0fb1c0e703fb68)
2025-01-31 19:23:15 -08:00
..
nfs.h nfscl/kgssapi: Fix Kerberized NFS mounts to pNFS servers 2023-12-23 17:03:58 -08:00
nfs_commonacl.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nfs_commonkrpc.c nfscl: Fix handling of expired Kerberos credentials (NFSv4.1/4.2) 2024-01-01 17:20:17 -08:00
nfs_commonport.c nfs: Fallback to GID_NOGROUP on no groups 2024-11-15 11:47:43 +01:00
nfs_commonsubs.c nfsd: Add support for the NFSv4.2 change_attr_type attribute 2025-01-31 19:23:15 -08:00
nfs_var.h nfsd: Fix Link conformance with RFC8881 for delegations 2024-05-10 18:04:40 -07:00
nfscl.h nfs: Add support for the NFSv4.2 mode_umask attribute 2024-12-07 17:38:15 -08:00
nfsclstate.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
nfsdport.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
nfskpiport.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
nfsm_subs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
nfsport.h nfscl: Clear out a lot of cruft related to B_DIRECT 2024-04-30 18:06:36 -07:00
nfsproto.h nfsd: Add support for the NFSv4.2 change_attr_type attribute 2025-01-31 19:23:15 -08:00
nfsrvcache.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
nfsrvstate.h nfsd: Fix nfsrv_cleanclient so that it can be called with a mutex 2024-07-21 16:06:02 -07:00
nfsv4_errstr.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rpcv2.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
xdr_subs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00