Add an argument to vfs_add_vnodeops() to specify VVF_* flags for the vop_ops
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 17 Sep 2005 07:43:12 +0000 (07:43 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 17 Sep 2005 07:43:12 +0000 (07:43 +0000)
commitdc1be39cdb26fb1f08501b2d0400fe731592e6e0
treef5c85691e1868b345b5e80cf1b01c35b5d2bd8f8
parentd20227c14aa5d041424e92db94f0d2e0a96d1dd4
Add an argument to vfs_add_vnodeops() to specify VVF_* flags for the vop_ops
structure.  Add a new flag called VVF_SUPPORTS_FSMID to indicate filesystems
which support persistent storage of FSMIDs.  Rework the FSMID code a bit
to reduce overhead.

Use the spare field in the UFS inode structure to implement a persistent
FSMID.  The FSMID is recursively marked in the namecache but not adjusted
until the next getattr() call on the related inode(s), or when the vnode
is reclaimed.
42 files changed:
sys/emulation/linux/i386/linprocfs/linprocfs_vfsops.c
sys/kern/vfs_cache.c
sys/kern/vfs_default.c
sys/kern/vfs_init.c
sys/kern/vfs_jops.c
sys/kern/vfs_journal.c
sys/kern/vfs_subr.c
sys/kern/vfs_sync.c
sys/kern/vfs_syscalls.c
sys/kern/vfs_vnops.c
sys/kern/vfs_vopops.c
sys/sys/namecache.h
sys/sys/vfscache.h
sys/sys/vfsops.h
sys/sys/vnode.h
sys/vfs/deadfs/dead_vnops.c
sys/vfs/fdesc/fdesc_vfsops.c
sys/vfs/fifofs/fifo_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_vnops.c
sys/vfs/msdosfs/msdosfs_vfsops.c
sys/vfs/nfs/nfs_nqlease.c
sys/vfs/nfs/nfs_socket.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/specfs/spec_vnops.c
sys/vfs/udf/udf_vfsops.c
sys/vfs/ufs/dinode.h
sys/vfs/ufs/ffs_vfsops.c
sys/vfs/ufs/inode.h
sys/vfs/ufs/ufs_inode.c
sys/vfs/ufs/ufs_vnops.c
sys/vfs/umapfs/umap_vfsops.c
sys/vfs/union/union_vfsops.c
sys/vm/vm_swap.c