freebsd-src/sys/nfsclient
Rick Macklem e498ea9037 Fix a LOR in the NFS client which could cause a deadlock.
This was reported to the mailing list freebsd-net@freebsd.org
on July 21, 2011 under the subject "LOR with nfsclient sillyrename".
The LOR occurred when nfs_inactive() called vrele(sp->s_dvp)
while holding the vnode lock on the file in s_dvp. This patch
modifies the client so that it performs the vrele(sp->s_dvp)
as a separate task to avoid the LOR. This fix was discussed
with jhb@ and kib@, who both proposed variations of it.

Tested by:	pho, jlott at averesystems.com
Submitted by:	jhb (earlier version)
Reviewed by:	kib
Approved by:	re (kib)
MFC after:	2 weeks
2011-08-02 11:24:42 +00:00
..
nfs.h Fix a comment that got missed by r221973 which changed 2011-05-16 13:12:09 +00:00
nfs_bio.c In the VOP_PUTPAGES() implementations, change the default error from 2011-06-01 21:00:28 +00:00
nfs_kdtrace.c Fix the module dependency in nfs_kdtrace.c for the old NFS 2011-05-06 19:55:15 +00:00
nfs_krpc.c Fix the kgssapi so that it can be loaded as a module. Currently 2011-06-19 22:08:55 +00:00
nfs_nfsiod.c Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfs_node.c Fix a LOR in the NFS client which could cause a deadlock. 2011-08-02 11:24:42 +00:00
nfs_subs.c Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfs_vfsops.c Add a check for MNTK_UNMOUNTF at the beginning of nfs_sync() 2011-05-29 20:55:23 +00:00
nfs_vnops.c Eliminate duplicate #include's. 2011-05-22 18:11:41 +00:00
nfsargs.h Implemented a mount option "nocto" that disables cache coherency 2011-05-04 13:27:45 +00:00
nfsm_subs.h Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +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 Fix a LOR in the NFS client which could cause a deadlock. 2011-08-02 11:24:42 +00:00
nfsstats.h
nlminfo.h