opnsense-src/sys/fs/nfsclient
Rick Macklem 98a7b279a2 The algorithm used by nfscl_getopen() could have resulted in
multiple instances of the same lock_owner when a process both
inherited an open file descriptor plus opened the same file itself.
Since some NFSv4 servers cannot handle multiple instances of
the same lock_owner string, this patch changes the algorithm
used by nfscl_getopen() in the new NFSv4 client to keep that
from happening. The new algorithm is simpler, since there is
no longer any need to ascend the process's parentage tree because
all NFSv4 Closes for a file are done at VOP_INACTIVE()/VOP_RECLAIM(),
making the Opens indistinct w.r.t. use with Lock Ops.
This problem was discovered at the recent NFSv4 interoperability
Bakeathon.

MFC after:	2 weeks
2011-07-04 23:32:09 +00:00
..
nfs.h Modify the experimental (newnfs) NFS client so that it uses the 2011-04-25 23:12:18 +00:00
nfs_clbio.c Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +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 Fix the kgssapi so that it can be loaded as a module. Currently 2011-06-19 22:08:55 +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 Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs_clport.c Fix the new NFSv4 client so that it doesn't fill the cached 2011-06-28 22:52:38 +00:00
nfs_clrpcops.c Modify the new NFSv4 client so that it appends a file handle 2011-07-03 21:44:26 +00:00
nfs_clstate.c The algorithm used by nfscl_getopen() could have resulted in 2011-07-04 23:32:09 +00:00
nfs_clsubs.c Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs_clvfsops.c Add a check for MNTK_UNMOUNTF at the beginning of nfs_sync() 2011-05-26 22:05:35 +00:00
nfs_clvnops.c Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs_kdtrace.h Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfsmount.h Fix the nlm so that it no longer depends on the regular 2011-01-03 20:37:31 +00:00
nfsnode.h Add a lktype flags argument to nfscl_nget() and ncl_nget() in the 2011-04-16 23:20:21 +00:00
nlminfo.h