cvs commit: src/sys/kern vfs_default.c vfs_init.c src/sys/sys mount.h src/sys/vfs/coda coda_vfsops.c src/sys/vfs/fdesc fdesc.h fdesc_vfsops.c fdesc_vnops.c src/sys/vfs/gnu/ext2fs ext2_extern.h ext2_inode.c ext2_vfsops.c src/sys/vfs/hpfs hpfs_vfsops.c ...
Hiten Pandya
hmp at crater.dragonflybsd.org
Tue Jul 26 08:44:10 PDT 2005
hmp 2005/07/26 08:43:36 PDT
DragonFly src repository
Modified files:
sys/kern vfs_default.c vfs_init.c
sys/sys mount.h
sys/vfs/coda coda_vfsops.c
sys/vfs/fdesc fdesc.h fdesc_vfsops.c fdesc_vnops.c
sys/vfs/gnu/ext2fs ext2_extern.h ext2_inode.c 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_vfsops.c
sys/vfs/nfs nfs_vfsops.c
sys/vfs/ntfs ntfs_vfsops.c
sys/vfs/nullfs null_vfsops.c
sys/vfs/nwfs nwfs_vfsops.c
sys/vfs/portal portal_vfsops.c
sys/vfs/procfs procfs_vfsops.c
sys/vfs/smbfs smbfs_vfsops.c
sys/vfs/udf udf_vfsops.c
sys/vfs/ufs ffs_vfsops.c ufs_extern.h ufs_ihash.c
ufs_vfsops.c
sys/vfs/umapfs umap_vfsops.c
sys/vfs/union union_vfsops.c
Log:
Clean the VFS operations vector and related code:
* take advantage of C99 sparse structure initialisation, this allows
us to initialise left out vfsops entries cleanly when vfs_register()
is called; any vfsop entries that are not specified will be assigned
vfs_std* functions. the only exception to this rule is VFS_SYNC
which is assigned vfs_stdnosync() since a file system may not have
support for it. file systems can simply assign vfs_stdsync if they
do not have their own sync operation.
* add KKASSERTS to make sure that the VFS_ROOT, VFS_MOUNT and VFS_UNMOUNT
vfs operations are provided by a file system being registered. all of
the above are necessary to ensure a minimally working file system.
* remove scattered no-op definitions of VFS_START() vfsop vector entry
and take advantage of sparse vfsop initialisation. VFS_START is only
used by MFS to make ensure calling process is not swapped out when
I/O is initialised. The entry point is called from the mount path,
before the file system is marked ready.
* remove scattered no-op definitions of VFS_QUOTACTL() vfsop vector entry
and take advantage of sparse vfsop initialisation.
* give UFS a VFS_UNINIT vfsop entry and make use of it in ext2fs when
ripping down the hash tables.
* many file systems in the kernel seem to not implement the complementing
VFS_UNINIT() vfsop entry, this is not so much of a problem when the
file system is compiled into the kernel, but it can leave leakage when
compiled as KLD modules. add uninitialisation code and entry points
for ext2fs, ufs, fdescfs. grab the ufs_ihash_token when free'ing the
inode hash table at ripping time.
* add typedefs for all the vfsop entry points, make use of it in definition
of struct vfsops; this results in clean and consolidate code. use the
typedefs for vfs_std* function prototypes.
Revision Changes Path
1.26 +7 -2 src/sys/kern/vfs_default.c
1.9 +72 -0 src/sys/kern/vfs_init.c
1.21 +47 -38 src/sys/sys/mount.h
1.22 +5 -14 src/sys/vfs/coda/coda_vfsops.c
1.5 +1 -0 src/sys/vfs/fdesc/fdesc.h
1.15 +7 -14 src/sys/vfs/fdesc/fdesc_vfsops.c
1.19 +7 -0 src/sys/vfs/fdesc/fdesc_vnops.c
1.8 +0 -1 src/sys/vfs/gnu/ext2fs/ext2_extern.h
1.9 +0 -6 src/sys/vfs/gnu/ext2fs/ext2_inode.c
1.30 +12 -14 src/sys/vfs/gnu/ext2fs/ext2_vfsops.c
1.28 +11 -14 src/sys/vfs/hpfs/hpfs_vfsops.c
1.27 +11 -14 src/sys/vfs/isofs/cd9660/cd9660_vfsops.c
1.23 +12 -14 src/sys/vfs/mfs/mfs_vfsops.c
1.26 +10 -14 src/sys/vfs/msdosfs/msdosfs_vfsops.c
1.28 +7 -14 src/sys/vfs/nfs/nfs_vfsops.c
1.28 +11 -14 src/sys/vfs/ntfs/ntfs_vfsops.c
1.17 +13 -37 src/sys/vfs/nullfs/null_vfsops.c
1.19 +7 -39 src/sys/vfs/nwfs/nwfs_vfsops.c
1.16 +5 -14 src/sys/vfs/portal/portal_vfsops.c
1.12 +5 -14 src/sys/vfs/procfs/procfs_vfsops.c
1.22 +7 -45 src/sys/vfs/smbfs/smbfs_vfsops.c
1.13 +8 -14 src/sys/vfs/udf/udf_vfsops.c
1.33 +12 -14 src/sys/vfs/ufs/ffs_vfsops.c
1.12 +1 -0 src/sys/vfs/ufs/ufs_extern.h
1.16 +12 -0 src/sys/vfs/ufs/ufs_ihash.c
1.11 +0 -11 src/sys/vfs/ufs/ufs_vfsops.c
1.17 +12 -38 src/sys/vfs/umapfs/umap_vfsops.c
1.20 +6 -14 src/sys/vfs/union/union_vfsops.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_init.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/mount.h.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/coda/coda_vfsops.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fdesc/fdesc.h.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fdesc/fdesc_vfsops.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fdesc/fdesc_vnops.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_extern.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_inode.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_vfsops.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hpfs/hpfs_vfsops.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/isofs/cd9660/cd9660_vfsops.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/mfs/mfs_vfsops.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/msdosfs/msdosfs_vfsops.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vfsops.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ntfs/ntfs_vfsops.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nullfs/null_vfsops.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.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/portal/portal_vfsops.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/procfs/procfs_vfsops.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_vfsops.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/udf/udf_vfsops.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_vfsops.c.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_extern.h.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_ihash.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_vfsops.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/umapfs/umap_vfsops.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/union/union_vfsops.c.diff?r1=1.19&r2=1.20&f=u
More information about the Commits
mailing list