opnsense-src/sys/fs/nfsserver
Rick Macklem 9ac4d1af5a nfsd: Fix handling of Open/Create for the pNFS server
When the MDS of a pNFS service receives an Open/Create
and the file already exists, it must do a Setattr of
size == 0.  Without this patch, this was eroneously
done via a VOP_SETAATR() call, which would set the
length of the MDS file to 0 (which is already is,
since all data lives on the DSs).

This patch fixes the problem by doing a nfsvno_setattr()
instead of VOP_SETATTR(), which knows to do a proxied
Setattr on the DSs.

For a non-pNFS server, the change has no effect, since
nfsvno_setattr() only does a VOP_SETATTR() for that case.

This was found during a recent IETF NFSv4 testing event.

(cherry picked from commit f32bf50d43)
2022-05-20 13:50:02 -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 nfsd: fix replies from session cache for retried RPCs 2021-04-22 06:54:31 -07:00
nfs_nfsdport.c nfsd: Fix handling of Open/Create for the pNFS server 2022-05-20 13:50:02 -07:00
nfs_nfsdserv.c nfsd: Add a sanity check to SecinfoNoname for file type 2022-05-15 12:17:11 -07:00
nfs_nfsdsocket.c nfsd: Fix the NFSv4.2 pNFS MDS server for NFSERR_NOSPC via LayoutError 2021-11-24 14:35:03 -08:00
nfs_nfsdstate.c nfsd: Fix session slot freeing for NFSv4.1/4.2 2022-05-16 12:21:06 -07:00
nfs_nfsdsubs.c nfs: don't truncate directory cookies to 32-bits in the NFS server 2022-01-02 20:09:15 -07:00