freebsd-nq/sys/fs/nfs
Rick Macklem 2d90ef4714 nfsd: Fix Verify for attributes like FilesAvail
When the Verify operation calls nfsv4_loadattr(), it provides
the "struct statfs" information that can be used for doing a
compare for FilesAvail, FilesFree, FilesTotal, SpaceAvail,
SpaceFree and SpaceTotal.  However, the code erroneously
used the "struct nfsstatfs *" argument that is NULL.
This patch fixes these cases to use the correct argument
structure.  For the case of FilesAvail, the code in
nfsv4_fillattr() was factored out into a separate function
called nfsv4_filesavail(), so that it can be called from
nfsv4_loadattr() as well as nfsv4_fillattr().

In fact, most of the code in nfsv4_filesavail() is old
OpenBSD code that does not build/run on FreeBSD, but I
left it in place, in case it is of some use someday.

I am not aware of any extant NFSv4 client that does Verify
on these attributes.

Reported by:	rtm@lcs.mit.edu
Tested by:	rtm@lcs.mit.edu
PR:	260176
MFC after:	2 weeks
2021-12-04 14:38:55 -08:00
..
nfs_commonacl.c Revert "wpa: Import wpa_supplicant/hostapd commit 14ab4a816" 2021-12-02 14:45:04 -08:00
nfs_commonkrpc.c nfscl: Sanity check the Sequence slotid in reply 2021-11-27 15:02:04 -08:00
nfs_commonport.c vfs: remove the unused thread argument from NDINIT* 2021-11-25 22:50:42 +00:00
nfs_commonsubs.c nfsd: Fix Verify for attributes like FilesAvail 2021-12-04 14:38:55 -08:00
nfs_var.h nfsd: Fix the NFSv4.2 pNFS MDS server for NFSERR_NOSPC via LayoutError 2021-11-08 15:58:00 -08:00
nfs.h nfsd: Add sysctl to set maximum I/O size up to 1Mbyte 2021-07-16 15:01:03 -07:00
nfscl.h nfsv4 client: do the BindConnectionToSession as required 2021-04-11 14:34:57 -07:00
nfsclstate.h nfscl: Do pNFS layout return_on_close synchronously 2021-10-31 16:31:31 -07:00
nfsdport.h Do not copy vp into f_data for DTYPE_VNODE files. 2020-09-15 21:55:21 +00:00
nfskpiport.h Remove vfs_statfs and vnode_mount macros from NFS 2020-06-17 16:20:19 +00:00
nfsm_subs.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfsport.h pNFS: Add nfsstats counters for number of Layouts 2021-11-12 17:32:55 -08:00
nfsproto.h nfscl: Add a LayoutError RPC for NFSv4.2 pNFS mounts 2021-11-11 15:43:58 -08:00
nfsrvcache.h Replace all instances of the typedef mbuf_t with "struct mbuf *". 2020-04-17 21:17:51 +00:00
nfsrvstate.h nfsd: Fix the NFSv4.2 pNFS MDS server for NFSERR_NOSPC via LayoutError 2021-11-08 15:58:00 -08:00
nfsv4_errstr.h Add missing comma in nfsv4_errstr 2020-01-13 21:49:27 +00:00
rpcv2.h fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
xdr_subs.h