freebsd-dev/sys/fs/nfsclient
Rick Macklem 7af1242a34 PR# 165923 reported intermittent write failures for dirty
memory mapped pages being written back on an NFS mount.
Since any thread can call VOP_PUTPAGES() to write back a
dirty page, the credentials of that thread may not have
write access to the file on an NFS server. (Often the uid
is 0, which may be mapped to "nobody" in the NFS server.)
Although there is no completely correct fix for this
(NFS servers check access on every write RPC instead of at
open/mmap time), this patch avoids the common cases by
holding onto a credential that recently opened the file
for writing and uses that credential for the write RPCs
being done by VOP_PUTPAGES() for both NFS clients.

Tested by:	Joel Ray Holveck (joelh at juniper.net)
PR:		kern/165923
Reviewed by:	kib
MFC after:	2 weeks
2012-05-12 12:02:51 +00:00
..
nfs_clbio.c PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfs_clcomsubs.c Fix the new NFS client so that it handles NFSv4 state 2011-05-27 22:05:10 +00:00
nfs_clkdtrace.c Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs_clkrpc.c opt_inet6.h was missing from some files in the new NFS subsystem. 2012-01-08 01:54:46 +00:00
nfs_clnfsiod.c Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfs_clnode.c PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfs_clport.c Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
nfs_clrpcops.c Post r230394, the Lookup RPC counts for both NFS clients increased 2012-03-03 01:06:54 +00:00
nfs_clstate.c r228827 fixed a problem where copying of NFSv4 open credentials into 2012-02-07 16:32:43 +00:00
nfs_clsubs.c Replace the MNT_VNODE_FOREACH interface with MNT_VNODE_FOREACH_ALL. 2012-04-17 16:28:22 +00:00
nfs_clvfsops.c Replace the MNT_VNODE_FOREACH interface with MNT_VNODE_FOREACH_ALL. 2012-04-17 16:28:22 +00:00
nfs_clvnops.c PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfs_kdtrace.h Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs.h Modify the experimental (newnfs) NFS client so that it uses the 2011-04-25 23:12:18 +00:00
nfsmount.h Add a timeout on positive name cache entries in the NFS client. That is, 2012-01-25 20:05:58 +00:00
nfsnode.h PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nlminfo.h