freebsd-dev/sys/fs/nfsserver
Rick Macklem 8063dc0320 nfsd: Make Setxattr/Removexattr NFSv4.2 ops IO_SYNC
When the NFS server does Setxattr or Removexattr, the
operations must be done IO_SYNC. If a server
crashes/reboots immediately after replying it must
have the extended attribute changes.

Since UFS does extended attributes asynchronously
by default and there is no "ioflag" argument in
the VOP calls, follow the VOP calls with VOP_FSYNC(),
to ensure the operation has been done synchronously.

This was found by inspection while investigating a
bug discovered during a recent IETF NFSv4 testing
event, where the Change attribute wasn't changed
in the operation reply.

This bug will take further work for ZFS and the
pNFS server configuration, but is now fixed for
a non-pNFS UFS exported file system.

MFC after:	1 month
2022-10-16 13:27:32 -07:00
..
nfs_fha_new.c fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs_fha_new.h Re-organize the NFS file handle affinity code for the NFS server. 2020-04-14 00:01:26 +00:00
nfs_nfsdcache.c fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs_nfsdkrpc.c AST: rework 2022-08-02 21:11:09 +03:00
nfs_nfsdport.c nfsd: Make Setxattr/Removexattr NFSv4.2 ops IO_SYNC 2022-10-16 13:27:32 -07:00
nfs_nfsdserv.c vfs: always retain path buffer after lookup 2022-09-17 09:10:38 +00:00
nfs_nfsdsocket.c nfsd: Fix the NFSv4.2 pNFS MDS server for NFSERR_NOSPC via LayoutError 2021-11-08 15:58:00 -08:00
nfs_nfsdstate.c vfs: introduce V_PCATCH to stop abusing PCATCH 2022-09-17 15:41:37 +00:00
nfs_nfsdsubs.c rpc: Delete AUTH_NEEDS_TLS(_MUTUAL_HOST) auth_stat values 2021-12-23 14:31:53 -08:00