freebsd-nq/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 Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
krpc_subr.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
krpc.h Cleanup and split of nfs client and server code. 2001-09-18 23:32:09 +00:00
nfs_bio.c - Lock access to the buf lists. 2002-09-25 02:38:43 +00:00
nfs_diskless.c Moved nfs_diskless setup code from autoconf.c to nfsclient/nfs_diskless.c 2002-09-22 00:59:02 +00:00
nfs_lock.c Remove a case of exposing 'struct ucred' to userspace. Use a struct xucred 2002-08-15 21:52:22 +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 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 Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
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 Use `struct uma_zone *' instead of uma_zone_t, so that <sys/uma.h> isn't 2002-09-05 14:04:34 +00:00
nfsargs.h Allow users to use the 'nolockd' or -L options with mount_nfs in order 2001-11-12 02:33:52 +00:00
nfsdiskless.h Moved nfs_diskless setup code from autoconf.c to nfsclient/nfs_diskless.c 2002-09-22 00:59: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 Remove the nfs_{lock,unlock,islocked} functions and the associated 2002-04-27 22:10:16 +00:00
nfsstats.h Cleanup and split of nfs client and server code. 2001-09-18 23:32:09 +00:00
nlminfo.h Cleanup and split of nfs client and server code. 2001-09-18 23:32:09 +00:00