freebsd-dev/sys/nfsclient
Kirk McKusick a5b65058d5 Regularize the vop_stdlock'ing protocol across all the filesystems
that use it. Specifically, vop_stdlock uses the lock pointed to by
vp->v_vnlock. By default, getnewvnode sets up vp->v_vnlock to
reference vp->v_lock. Filesystems that wish to use the default
do not need to allocate a lock at the front of their node structure
(as some still did) or do a lockinit. They can simply start using
vn_lock/VOP_UNLOCK. Filesystems that wish to manage their own locks,
but still use the vop_stdlock functions (such as nullfs) can simply
replace vp->v_vnlock with a pointer to the lock that they wish to
have used for the vnode. Such filesystems are responsible for
setting the vp->v_vnlock back to the default in their vop_reclaim
routine (e.g., vp->v_vnlock = &vp->v_lock).

In theory, this set of changes cleans up the existing filesystem
lock interface and should have no function change to the existing
locking scheme.

Sponsored by:	DARPA & NAI Labs.
2002-10-14 03:20:36 +00:00
..
bootp_subr.c
krpc_subr.c
krpc.h
nfs_bio.c
nfs_diskless.c
nfs_lock.c
nfs_lock.h
nfs_nfsiod.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
nfs_node.c Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
nfs_socket.c Back our kernel support for reliable signal queues. 2002-10-01 17:15:53 +00:00
nfs_subs.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
nfs_vfsops.c
nfs_vnops.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
nfs.h
nfsargs.h
nfsdiskless.h
nfsm_subs.h
nfsmount.h
nfsnode.h
nfsstats.h
nlminfo.h