freebsd-dev/sys/nfsclient
Robert Watson 77dfcdc445 Rework global locks for interface list and index management, correcting
several critical bugs, including race conditions and lock order issues:

Replace the single rwlock, ifnet_lock, with two locks, an rwlock and an
sxlock.  Either can be held to stablize the lists and indexes, but both
are required to write.  This allows the list to be held stable in both
network interrupt contexts and sleepable user threads across sleeping
memory allocations or device driver interactions.  As before, writes to
the interface list must occur from sleepable contexts.

Reviewed by:	bz, julian
MFC after:	3 days
2009-08-23 20:40:19 +00:00
..
bootp_subr.c Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
krpc_subr.c Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +00:00
krpc.h
nfs_bio.c Use PBDRY flag for msleep(9) in NFS and NLM when sleeping thread owns 2009-07-14 22:54:29 +00:00
nfs_diskless.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
nfs_kdtrace.c Fix typo in comment. 2009-05-04 02:06:39 +00:00
nfs_kdtrace.h Fix two bugs in DTrace tracing of accesscache and attrcache load events: 2009-03-24 23:16:48 +00:00
nfs_krpc.c Adjust the internal NFS KPI to avoid the last traces of NFS_LEGACYRPC. 2009-06-30 19:10:17 +00:00
nfs_lock.c Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +00:00
nfs_lock.h
nfs_nfsiod.c Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +00:00
nfs_node.c Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +00:00
nfs_subs.c In nfs_upgrade_vnlock(), assert that the vnode is locked. It is for all 2009-08-14 10:59:17 +00:00
nfs_vfsops.c Adjust the internal NFS KPI to avoid the last traces of NFS_LEGACYRPC. 2009-06-30 19:10:17 +00:00
nfs_vnops.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
nfs.h Adjust the internal NFS KPI to avoid the last traces of NFS_LEGACYRPC. 2009-06-30 19:10:17 +00:00
nfsargs.h Fix a serious deadlock with the NFS client. Given a large enough 2005-06-10 23:50:41 +00:00
nfsdiskless.h consolidate parsing of nfs root mount options in one place 2006-12-06 02:15:25 +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 Use PBDRY flag for msleep(9) in NFS and NLM when sleeping thread owns 2009-07-14 22:54:29 +00:00
nfsnode.h Remove the unmaintained University of Michigan NFSv4 client from 8.x 2009-05-22 12:35:12 +00:00
nfsstats.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
nlminfo.h - Fix leak of struct nlminfo on process exit. 2005-10-26 07:18:37 +00:00