1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys
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
..
alpha Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
amd64 Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
arm Add standards visibility conditionals. Change any uses of sigset_t to 2002-10-13 00:31:46 +00:00
boot Compile in support for zipfs and bzipfs so we can load the gzipped mfsroot 2002-10-13 18:52:46 +00:00
cam Trapdoor access to cd%da and cd%c so they still work, but do not let them 2002-10-11 10:35:17 +00:00
coda Back our kernel support for reliable signal queues. 2002-10-01 17:15:53 +00:00
compat - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2); 2002-10-11 11:43:09 +00:00
conf Add in the GEOM control module. 2002-10-13 20:36:47 +00:00
contrib Resolve conflicts arising from the ACPI CA 20021002 import. 2002-10-04 20:09:19 +00:00
crypto
ddb Round out the facilty for a 'bound' thread to loan out its KSE 2002-10-09 02:33:36 +00:00
dev o Comment out the symbol download code for 4.x. 2002-10-14 01:59:57 +00:00
fs Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
geom Add the outline of the "/dev/geom.ctl" handling code. 2002-10-13 20:33:33 +00:00
gnu Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
i4b It's bad enough people can't figure out to use the same code, or in 2002-09-11 12:44:58 +00:00
i386 Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
ia64 Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
isa Fix a probably rare and inconsequential memory leak. 2002-10-02 20:29:54 +00:00
isofs/cd9660 Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
kern Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
libkern Slight overhaul of arc4random() and friends. 2002-10-11 13:13:08 +00:00
modules Connect trm(4) to the build. 2002-10-13 18:44:26 +00:00
net When reusing a pointer as a number, at least cast it 2002-10-06 14:02:35 +00:00
netatalk Add more ethernet types and move AppleTalk types into proper location. 2002-09-06 17:02:29 +00:00
netatm Add a field to struct cmn_unit to hold a pointer to the driver's softc. 2002-10-01 22:04:31 +00:00
netgraph use __packed. 2002-09-23 18:54:32 +00:00
netinet Increase the max dummynet hash size from 1024 to 65536. Default is still 2002-10-12 07:45:23 +00:00
netinet6 s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
netipx Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
netkey
netnatm
netncp Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
netns Use m_length() instead of home-rolled versions. 2002-09-18 19:44:14 +00:00
netsmb Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
nfs Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
nfsclient Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
nfsserver Correct a problem wherein NFS servers running NFSv2 would not return 2002-10-03 21:50:37 +00:00
opencrypto Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
pc98 Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
pccard MFp4: Comment about not assuming INTA# for 6729 2002-10-07 07:02:48 +00:00
pci Make this compile on 64-bit architectures (e.g. ia64) by not assuming 2002-10-12 20:40:36 +00:00
posix4 - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
powerpc Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
rpc
security Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
sparc64 Remove the P1003_1B kernel option; it is no longer used. 2002-10-13 16:29:17 +00:00
sys Correctly account for MAXPARTITIONS in the CTASSERT() which protects the 2002-10-13 17:28:14 +00:00
tools - Move ASSERT_VOP_*LOCK* functionality into functions in vfs_subr.c 2002-09-26 04:48:44 +00:00
ufs Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
vm - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
Makefile