cvs commit: src/sys/conf src/sys/emulation/linux/i386/linprocfs src/sys/kern src/sys/sys src/sys/vfs/coda src/sys/vfs/fdesc src/sys/vfs/gnu/ext2fs src/sys/vfs/hpfs src/sys/vfs/isofs/cd9660 src/sys/vfs/mfs src/sys/vfs/msdosfs src/sys/vfs/nfs ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Dec 16 16:19:06 PST 2004
dillon 2004/12/16 16:18:49 PST
DragonFly src repository
Modified files:
sys/conf files
sys/emulation/linux/i386/linprocfs linprocfs_subr.c
linprocfs_vfsops.c
sys/kern vfs_cache.c vfs_init.c vfs_mount.c
vfs_subr.c vfs_sync.c vfs_syscalls.c
vfs_vopops.c
sys/sys mount.h namecache.h vfsops.h vnode.h
sys/vfs/coda coda_vnops.c
sys/vfs/fdesc fdesc_vfsops.c fdesc_vnops.c
sys/vfs/gnu/ext2fs ext2_vfsops.c
sys/vfs/hpfs hpfs_vfsops.c
sys/vfs/isofs/cd9660 cd9660_vfsops.c
sys/vfs/mfs mfs_vfsops.c
sys/vfs/msdosfs msdosfs_denode.c msdosfs_vfsops.c
sys/vfs/nfs nfs_node.c nfs_subs.c nfs_vfsops.c
sys/vfs/ntfs ntfs_vfsops.c
sys/vfs/nullfs null_subr.c null_vfsops.c null_vnops.c
sys/vfs/nwfs nwfs_node.c nwfs_vfsops.c
sys/vfs/portal portal_vfsops.c portal_vnops.c
sys/vfs/procfs procfs_subr.c procfs_vfsops.c
sys/vfs/smbfs smbfs_node.c smbfs_vfsops.c
sys/vfs/udf udf_vfsops.c udf_vnops.c
sys/vfs/ufs ffs_vfsops.c ufs_vnops.c
sys/vfs/umapfs umap_subr.c umap_vfsops.c umap_vnops.c
sys/vfs/union union_subr.c union_vfsops.c union_vnops.c
sys/vm vm_swap.c
Added files:
sys/kern vfs_journal.c vfs_rangelock.c
Log:
VFS messaging/interfacing work stage 10/99:
Start adding the journaling, range locking, and (very slightly) cache
coherency infrastructure. Continue cleaning up the VOP operations vector.
Expand on past commits that gave each mount structure its own set of VOP
operations vectors by adding additional vector sets for journaling or
cache coherency operations. Remove the vv_jops and vv_cops fields
from the vnode operations vector in favor of placing those vop_ops directly
in the mount structure. Reorganize the VOP calls as a double-indirect
and add a field to the mount structure which represents the current
vnode operations set (which will change when e.g. journaling is turned on
or off). This creates the infrastructure necessary to allow us to stack
a generic journaling implementation on top of a filesystem.
Introduce a hard range-locking API for vnodes. This API will be used by
high level system/vfs calls in order to handle atomicy guarentees. It is
a prerequisit for: (1) being able to break I/O's up into smaller pieces
for the vm_page list/direct-to-DMA-without-mapping goal, (2) to support
the parallel write operations on a vnode goal, (3) to support the clustered
(remote) cache coherency goal, and (4) to support massive parallelism in
dispatching operations for the upcoming threaded VFS work.
This commit represents only infrastructure and skeleton/API work.
Revision Changes Path
1.82 +2 -0 src/sys/conf/files
1.15 +1 -1 src/sys/emulation/linux/i386/linprocfs/linprocfs_subr.c
1.8 +1 -1 src/sys/emulation/linux/i386/linprocfs/linprocfs_vfsops.c
1.46 +2 -2 src/sys/kern/vfs_cache.c
1.8 +21 -2 src/sys/kern/vfs_init.c
1.3 +42 -3 src/sys/kern/vfs_mount.c
1.50 +2 -2 src/sys/kern/vfs_subr.c
1.2 +1 -1 src/sys/kern/vfs_sync.c
1.49 +6 -2 src/sys/kern/vfs_syscalls.c
1.11 +40 -28 src/sys/kern/vfs_vopops.c
1.15 +15 -1 src/sys/sys/mount.h
1.17 +1 -1 src/sys/sys/namecache.h
1.10 +67 -70 src/sys/sys/vfsops.h
1.28 +89 -17 src/sys/sys/vnode.h
1.24 +1 -1 src/sys/vfs/coda/coda_vnops.c
1.11 +1 -1 src/sys/vfs/fdesc/fdesc_vfsops.c
1.16 +1 -1 src/sys/vfs/fdesc/fdesc_vnops.c
1.23 +4 -4 src/sys/vfs/gnu/ext2fs/ext2_vfsops.c
1.24 +2 -3 src/sys/vfs/hpfs/hpfs_vfsops.c
1.24 +6 -6 src/sys/vfs/isofs/cd9660/cd9660_vfsops.c
1.20 +1 -1 src/sys/vfs/mfs/mfs_vfsops.c
1.19 +1 -2 src/sys/vfs/msdosfs/msdosfs_denode.c
1.22 +1 -1 src/sys/vfs/msdosfs/msdosfs_vfsops.c
1.18 +1 -2 src/sys/vfs/nfs/nfs_node.c
1.24 +3 -3 src/sys/vfs/nfs/nfs_subs.c
1.23 +3 -3 src/sys/vfs/nfs/nfs_vfsops.c
1.25 +2 -4 src/sys/vfs/ntfs/ntfs_vfsops.c
1.17 +1 -1 src/sys/vfs/nullfs/null_subr.c
1.15 +1 -1 src/sys/vfs/nullfs/null_vfsops.c
1.21 +1 -1 src/sys/vfs/nullfs/null_vnops.c
1.17 +1 -1 src/sys/vfs/nwfs/nwfs_node.c
1.14 +1 -1 src/sys/vfs/nwfs/nwfs_vfsops.c
1.14 +2 -2 src/sys/vfs/portal/portal_vfsops.c
1.18 +1 -2 src/sys/vfs/portal/portal_vnops.c
1.12 +1 -1 src/sys/vfs/procfs/procfs_subr.c
1.10 +1 -1 src/sys/vfs/procfs/procfs_vfsops.c
1.16 +1 -2 src/sys/vfs/smbfs/smbfs_node.c
1.16 +1 -1 src/sys/vfs/smbfs/smbfs_vfsops.c
1.11 +1 -1 src/sys/vfs/udf/udf_vfsops.c
1.11 +1 -1 src/sys/vfs/udf/udf_vnops.c
1.29 +4 -5 src/sys/vfs/ufs/ffs_vfsops.c
1.25 +2 -2 src/sys/vfs/ufs/ufs_vnops.c
1.13 +1 -1 src/sys/vfs/umapfs/umap_subr.c
1.15 +1 -1 src/sys/vfs/umapfs/umap_vfsops.c
1.13 +1 -1 src/sys/vfs/umapfs/umap_vnops.c
1.18 +1 -1 src/sys/vfs/union/union_subr.c
1.18 +1 -1 src/sys/vfs/union/union_vfsops.c
1.18 +11 -11 src/sys/vfs/union/union_vnops.c
1.17 +1 -1 src/sys/vm/vm_swap.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.81&r2=1.82&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linprocfs/linprocfs_subr.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linprocfs/linprocfs_vfsops.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_init.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_mount.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_subr.c.diff?r1=1.49&r2=1.50&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_sync.c.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.48&r2=1.49&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vopops.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/mount.h.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/namecache.h.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/vfsops.h.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/vnode.h.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/coda/coda_vnops.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fdesc/fdesc_vfsops.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fdesc/fdesc_vnops.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_vfsops.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hpfs/hpfs_vfsops.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/isofs/cd9660/cd9660_vfsops.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/mfs/mfs_vfsops.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/msdosfs/msdosfs_denode.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/msdosfs/msdosfs_vfsops.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_node.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_subs.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vfsops.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ntfs/ntfs_vfsops.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nullfs/null_subr.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nullfs/null_vfsops.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nullfs/null_vnops.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nwfs/nwfs_node.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nwfs/nwfs_vfsops.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/portal/portal_vfsops.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/portal/portal_vnops.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/procfs/procfs_subr.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/procfs/procfs_vfsops.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_node.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_vfsops.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/udf/udf_vfsops.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/udf/udf_vnops.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_vfsops.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_vnops.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/umapfs/umap_subr.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/umapfs/umap_vfsops.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/umapfs/umap_vnops.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/union/union_subr.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/union/union_vfsops.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/union/union_vnops.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_swap.c.diff?r1=1.16&r2=1.17&f=u
More information about the Commits
mailing list