freebsd-dev/sys/fs/nfs
Rick Macklem 23b3566364 Martin Cracauer reported a problem to freebsd-current@ under the
subject "Data corruption over NFS in -current". During investigation
of this, I came across an ugly bogusity in the new NFS client where
it replaced the cr_uid with the one used for the mount. This was
done so that "system operations" like the NFSv4 Renew would be
performed as the user that did the mount. However, if any other
thread shares the credential with the one doing this operation,
it could do an RPC (or just about anything else) as the wrong cr_uid.
This patch fixes the above, by using the mount credentials instead of
the one provided as an argument for this case. It appears
to have fixed Martin's problem.
This patch is needed for NFSv4 mounts and NFSv3 mounts against
some non-FreeBSD servers that do not put post operation attributes
in the NFSv3 Statfs RPC reply.

Tested by:	Martin Cracauer (cracauer at cons.org)
Reviewed by:	jhb
MFC after:	2 weeks
2012-01-20 00:58:51 +00:00
..
nfs_commonacl.c Add DEXITCODE plumbing to NFS. 2011-07-16 08:51:09 +00:00
nfs_commonkrpc.c Martin Cracauer reported a problem to freebsd-current@ under the 2012-01-20 00:58:51 +00:00
nfs_commonport.c jwd@ reported via email that the "CacheSize" field reported by "nfsstat -e -s" 2012-01-11 02:46:42 +00:00
nfs_commonsubs.c opt_inet6.h was missing from some files in the new NFS subsystem. 2012-01-08 01:54:46 +00:00
nfs_var.h Add two arguments to the nfsrpc_rellockown() function in the NFSv4 2011-11-20 16:46:50 +00:00
nfs.h Increase NFS_TICKINTVL value from 10 to 500. Now that callout does useful 2011-05-06 13:11:50 +00:00
nfscl.h
nfsclstate.h Post r223774, the NFSv4 client no longer has multiple instances 2011-12-03 02:27:26 +00:00
nfsdport.h Add DEXITCODE plumbing to NFS. 2011-07-16 08:51:09 +00:00
nfskpiport.h
nfsm_subs.h
nfsport.h Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
nfsproto.h Fix the new NFSv4 client so that it doesn't fill the cached 2011-06-28 22:52:38 +00:00
nfsrvcache.h
nfsrvstate.h
nfsv4_errstr.h
rpcv2.h
xdr_subs.h