freebsd-nq/sys/nfsclient
Alfred Perlstein b46b1a899f Stop using shared locks for nfs vop locks.
The reason this was done was to avoid a race to the root when an
NFS server went down.  However a semi-recent change to the way that
the kernel's lookup() routine traverses mount points prevents this.

Rev 1.39 of vfs_lookup.c changed the ordering of locks such that we
aquire a shared lock on the mount point being accessed and then drop
the directory vnode lock before requesting the target lock.

With that in place we no longer need shared locks for NFS to prevent
race to the root lockups.
2003-11-11 00:32:46 +00:00
..
bootp_subr.c Assert GIANT_REQUIRED where sockets are manipulated. This is 2003-11-07 22:57:09 +00:00
krpc_subr.c Assert GIANT_REQUIRED where sockets are manipulated. This is 2003-11-07 22:57:09 +00:00
krpc.h
nfs_bio.c Initialize bp->b_offset before calling VOP_STRATEGY(). 2003-10-18 11:14:29 +00:00
nfs_diskless.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
nfs_lock.c Add fdidx argument to vn_open() and vn_open_cred() and pass -1 throughout. 2003-07-27 17:04:56 +00:00
nfs_lock.h Remove a case of exposing 'struct ucred' to userspace. Use a struct xucred 2002-08-15 21:52:22 +00:00
nfs_nfsiod.c Change idle sleep indentifier to "-" for nfsiod 2003-07-02 08:09:20 +00:00
nfs_node.c Since the addition of the VI_DOINGINACT flag some time ago, 2003-10-05 12:41:35 +00:00
nfs_socket.c Assert GIANT_REQUIRED where sockets are manipulated. This is 2003-11-07 22:57:09 +00:00
nfs_subs.c Remove mntvnode_mtx and replace it with per-mountpoint mutex. 2003-11-05 04:30:08 +00:00
nfs_vfsops.c Assert GIANT_REQUIRED where sockets are manipulated. This is 2003-11-07 22:57:09 +00:00
nfs_vnops.c Stop using shared locks for nfs vop locks. 2003-11-11 00:32:46 +00:00
nfs.h Remove extern declarations of stuff which is static in nfs_node.c 2002-10-20 21:40:55 +00:00
nfsargs.h
nfsdiskless.h Remove the magic way of configuring NFS backed swap. 2003-08-15 12:04:02 +00:00
nfsm_subs.h Avoid passing the variable `tl' to functions that just use it for 2001-12-18 01:22:09 +00:00
nfsmount.h Now that we have a cached mount credential in struct mount, use it istead 2002-09-08 15:11:18 +00:00
nfsnode.h Name the vnode method vectors consistently with the rest of the filesystems. 2003-09-12 16:44:40 +00:00
nfsstats.h
nlminfo.h