opnsense-src/sys/fs
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
..
autofs sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
cd9660 cd9660: Apply the file and directory mode masks bits to all 12 access bits 2024-12-27 10:50:56 -05:00
cuse cuse: Use NULL for SYSUNINIT's last arg, which is a pointer type 2024-12-15 10:20:53 +08:00
deadfs sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
devfs kern: Make fileops and filterops tables const where possible 2024-12-03 01:03:42 +00:00
ext2fs ext2fs: 'struct ufid': Re-order fields and unpack 2025-01-17 14:51:54 +01:00
fdescfs Fix MNT_IGNORE for devfs, fdescfs and nullfs 2024-04-22 15:48:15 +02:00
fifofs sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
fuse fusefs: fix a memory leak 2025-01-20 09:51:44 -07:00
mntfs sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
msdosfs fs: Add static asserts for the size of fid structures 2024-12-20 14:07:12 -08:00
nfs nfsd: Add support for the NFSv4.2 change_attr_type attribute 2025-01-31 19:23:15 -08:00
nfsclient nfscl: Fix a crash when a readdir entry has nul in it 2025-01-23 18:25:10 -08:00
nfsserver nfs: Add support for the NFSv4.2 mode_umask attribute 2024-12-07 17:38:15 -08:00
nullfs nullfs: stop lying about mount flags in statfs(2) 2024-12-27 08:24:55 +02:00
procfs uio: Use switch statements when handling UIO_READ vs UIO_WRITE 2024-11-30 08:55:57 -05:00
pseudofs pseudofs: fix off by one in hash iteration in pfs_purge 2023-11-24 17:22:15 +00:00
smbfs Add vnode_pager_clean_{a,}sync(9) 2024-01-18 02:51:33 +02:00
tarfs tarfs: 'struct tarfs_fid': Switch 'gen' to 'u_int', avoid packing 2025-01-17 14:51:32 +01:00
tmpfs stat(2): add st_filerev 2025-01-23 11:46:57 +02:00
udf fs: Add static asserts for the size of fid structures 2024-12-20 14:07:12 -08:00
unionfs cred: proc_set_cred(), proc_unset_cred(): Update user's process count 2025-01-16 19:06:59 +01:00