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