freebsd-nq/sys/fs
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
..
cd9660 Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +00:00
coda Replace the MNT_VNODE_FOREACH interface with MNT_VNODE_FOREACH_ALL. 2012-04-17 16:28:22 +00:00
deadfs Add function vop_rename_fail(9) that performs needed cleanup for locks 2010-04-02 14:03:01 +00:00
devfs Add "export" to devfs_opts[] and return EOPNOTSUPP if called with it. 2012-02-29 16:16:36 +00:00
ext2fs Fix mount interlock oversights from the previous change in r234386. 2012-05-10 20:28:33 +00:00
fdescfs Use NULL instead of 0 2012-03-13 10:04:13 +00:00
fifofs Update comment. 2012-03-11 15:58:27 +00:00
hpfs Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +00:00
msdosfs Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +00:00
nfs Remove fifo.h. The only used function declaration from the header is 2012-03-11 12:19:58 +00:00
nfsclient PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfsserver Use the common api helper routine instead of freeing the namei 2012-05-08 03:39:44 +00:00
ntfs Clean up style(9) nits 2012-03-04 09:38:20 +00:00
nullfs Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +00:00
nwfs Rename cache_lookup_times() to cache_lookup() and retire the old API and 2012-02-06 17:00:28 +00:00
portalfs Use NULL instead of 0 2012-03-13 10:04:13 +00:00
procfs Add procfs to jail-mountable filesystems. 2012-02-29 00:30:18 +00:00
pseudofs Apply inlined vn_vget_ino() algorithm for ".." lookup in pseudofs. 2012-03-05 11:38:02 +00:00
smbfs Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +00:00
tmpfs Remove unused thread argument to vrecycle(). 2012-04-23 14:10:34 +00:00
udf Remove fifo.h. The only used function declaration from the header is 2012-03-11 12:19:58 +00:00
unionfs fixed a unionfs_readdir math issue 2012-05-03 07:22:29 +00:00