freebsd-nq/sys/nfsclient
Jeff Roberson 698b1a6643 - Complete part of the unfinished bufobj work by consistently using
BO_LOCK/UNLOCK/MTX when manipulating the bufobj.
 - Create a new lock in the bufobj to lock bufobj fields independently.
   This leaves the vnode interlock as an 'identity' lock while the bufobj
   is an io lock.  The bufobj lock is ordered before the vnode interlock
   and also before the mnt ilock.
 - Exploit this new lock order to simplify softdep_check_suspend().
 - A few sync related functions are marked with a new XXX to note that
   we may not properly interlock against a non-zero bv_cnt when
   attempting to sync all vnodes on a mountlist.  I do not believe this
   race is important.  If I'm wrong this will make these locations easier
   to find.

Reviewed by:	kib (earlier diff)
Tested by:	kris, pho (earlier diff)
2008-03-22 09:15:16 +00:00
..
bootp_subr.c
krpc_subr.c
krpc.h
nfs_bio.c namei() can call underlying nfs_readlink() passing a struct uio pointer 2008-02-09 20:13:19 +00:00
nfs_diskless.c In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
nfs_lock.c
nfs_lock.h
nfs_nfsiod.c
nfs_node.c Introduce some functions in the vnode locks namespace and in the ffs 2008-02-24 16:38:58 +00:00
nfs_socket.c Consolidate the code to generate a new XID for a NFS request into a 2008-02-13 00:04:58 +00:00
nfs_subs.c - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
nfs_vfsops.c - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
nfs_vnops.c - Complete part of the unfinished bufobj work by consistently using 2008-03-22 09:15:16 +00:00
nfs.h
nfsargs.h
nfsdiskless.h
nfsm_subs.h Consolidate the code to generate a new XID for a NFS request into a 2008-02-13 00:04:58 +00:00
nfsmount.h
nfsnode.h namei() can call underlying nfs_readlink() passing a struct uio pointer 2008-02-09 20:13:19 +00:00
nfsstats.h
nlminfo.h