freebsd-dev/sys/gnu/ext2fs
Boris Popov 67e871664b Add a lock structure to vnode structure. Previously it was either allocated
separately (nfs, cd9660 etc) or keept as a first element of structure
referenced by v_data pointer(ffs). Such organization leads to known problems
with stacked filesystems.

From this point vop_no*lock*() functions maintain only interlock lock.
vop_std*lock*() functions maintain built-in v_lock structure using lockmgr().
vop_sharedlock() is compatible with vop_stdunlock(), but maintains a shared
lock on vnode.

If filesystem wishes to export lockmgr compatible lock, it can put an address
of this lock to v_vnlock field. This indicates that the upper filesystem
can take advantage of it and use single lock structure for entire (or part)
of stack of vnodes. This field shouldn't be examined or modified by VFS code
except for initialization purposes.

Reviewed in general by:	mckusick
2000-09-25 15:24:04 +00:00
..
COPYRIGHT.INFO Updated/corrected the list of GPL'ed files. 2000-01-01 11:27:50 +00:00
ext2_alloc.c ext2fs relies on UFS support code, and as a result also requires 2000-04-15 17:14:22 +00:00
ext2_balloc.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
ext2_bmap.c This patch corrects the first round of panics and hangs reported 2000-07-24 05:28:33 +00:00
ext2_extern.h Don't pass unused unused timestamp args to UFS_UPDATE() or waste 1999-01-07 16:14:19 +00:00
ext2_fs_sb.h Import the Linux ext2fs files that our GPL'ed ext2fs files seem to be 2000-01-01 11:05:19 +00:00
ext2_fs.h Don't allow mounting (or mounting R/W) of filesystems with unsupported 2000-01-02 17:40:02 +00:00
ext2_ihash.c Add a lock structure to vnode structure. Previously it was either allocated 2000-09-25 15:24:04 +00:00
ext2_inode_cnv.c Merged changes in ext2_fs.h between Linux 1.2.2 and Linux 2.3.35. The 2000-01-01 17:39:21 +00:00
ext2_inode.c Fix typo (accessable --> accessible). 2000-06-14 17:53:40 +00:00
ext2_linux_balloc.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
ext2_linux_ialloc.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
ext2_lookup.c Fixed some serious bugs in ext2_readdir(): 2000-09-12 17:10:39 +00:00
ext2_mount.h Introduce extended attribute support for FFS, allowing arbitrary 2000-04-15 03:34:27 +00:00
ext2_readwrite.c Change the write-behind code to take more care when starting 2000-04-02 00:55:28 +00:00
ext2_subr.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
ext2_vfsops.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
ext2_vnops.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
fs.h Convert buffer locking from using the B_BUSY and B_WANTED flags to using 1999-06-26 02:47:16 +00:00
i386-bitops.h Fix __asm__ clobber list abuse. 1999-11-15 23:16:06 +00:00
inode.h Add a lock structure to vnode structure. Previously it was either allocated 2000-09-25 15:24:04 +00:00