From: | Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx> |
Date: | Sat, 17 Sep 2005 00:43:12 -0700 (PDT) |
dillon 2005/09/17 00:43:12 PDT DragonFly src repository Modified files: sys/emulation/linux/i386/linprocfs linprocfs_vfsops.c sys/kern vfs_cache.c vfs_default.c vfs_init.c vfs_journal.c vfs_subr.c vfs_sync.c vfs_syscalls.c vfs_vnops.c vfs_vopops.c sys/sys namecache.h vfscache.h vfsops.h 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 nfs_socket.c 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 ffs_vfsops.c inode.h ufs_inode.c ufs_vnops.c sys/vfs/umapfs umap_vfsops.c sys/vfs/union union_vfsops.c sys/vm vm_swap.c Log: 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. Revision Changes Path 1.10 +2 -1 src/sys/emulation/linux/i386/linprocfs/linprocfs_vfsops.c 1.58 +42 -9 src/sys/kern/vfs_cache.c 1.28 +1 -1 src/sys/kern/vfs_default.c 1.10 +15 -2 src/sys/kern/vfs_init.c 1.23 +2 -1 src/sys/kern/vfs_journal.c 1.64 +4 -2 src/sys/kern/vfs_subr.c 1.7 +1 -1 src/sys/kern/vfs_sync.c 1.72 +0 -11 src/sys/kern/vfs_syscalls.c 1.33 +1 -10 src/sys/kern/vfs_vnops.c 1.16 +12 -1 src/sys/kern/vfs_vopops.c 1.22 +3 -2 src/sys/sys/namecache.h 1.3 +1 -0 src/sys/sys/vfscache.h 1.14 +6 -4 src/sys/sys/vfsops.h 1.39 +2 -1 src/sys/sys/vnode.h 1.14 +1 -1 src/sys/vfs/deadfs/dead_vnops.c 1.16 +2 -1 src/sys/vfs/fdesc/fdesc_vfsops.c 1.21 +1 -1 src/sys/vfs/fifofs/fifo_vnops.c 1.31 +6 -3 src/sys/vfs/gnu/ext2fs/ext2_vfsops.c 1.30 +2 -1 src/sys/vfs/hpfs/hpfs_vfsops.c 1.28 +6 -3 src/sys/vfs/isofs/cd9660/cd9660_vfsops.c 1.19 +1 -1 src/sys/vfs/mfs/mfs_vnops.c 1.28 +2 -1 src/sys/vfs/msdosfs/msdosfs_vfsops.c 1.27 +3 -1 src/sys/vfs/nfs/nfs_nqlease.c 1.30 +5 -2 src/sys/vfs/nfs/nfs_socket.c 1.33 +6 -3 src/sys/vfs/nfs/nfs_vfsops.c 1.30 +2 -1 src/sys/vfs/ntfs/ntfs_vfsops.c 1.18 +2 -1 src/sys/vfs/nullfs/null_vfsops.c 1.20 +2 -1 src/sys/vfs/nwfs/nwfs_vfsops.c 1.17 +2 -1 src/sys/vfs/portal/portal_vfsops.c 1.13 +2 -1 src/sys/vfs/procfs/procfs_vfsops.c 1.23 +2 -1 src/sys/vfs/smbfs/smbfs_vfsops.c 1.29 +1 -1 src/sys/vfs/specfs/spec_vnops.c 1.15 +2 -1 src/sys/vfs/udf/udf_vfsops.c 1.5 +6 -1 src/sys/vfs/ufs/dinode.h 1.34 +3 -3 src/sys/vfs/ufs/ffs_vfsops.c 1.10 +1 -0 src/sys/vfs/ufs/inode.h 1.14 +13 -3 src/sys/vfs/ufs/ufs_inode.c 1.32 +15 -3 src/sys/vfs/ufs/ufs_vnops.c 1.18 +2 -1 src/sys/vfs/umapfs/umap_vfsops.c 1.21 +2 -1 src/sys/vfs/union/union_vfsops.c 1.19 +1 -1 src/sys/vm/vm_swap.c http://www.dragonflybsd.org/cvsweb/src/sys/emulation/linux/i386/linprocfs/linprocfs_vfsops.c.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.57&r2=1.58&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.27&r2=1.28&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_init.c.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_journal.c.diff?r1=1.22&r2=1.23&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_subr.c.diff?r1=1.63&r2=1.64&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_sync.c.diff?r1=1.6&r2=1.7&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.71&r2=1.72&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vnops.c.diff?r1=1.32&r2=1.33&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vopops.c.diff?r1=1.15&r2=1.16&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/namecache.h.diff?r1=1.21&r2=1.22&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/vfscache.h.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/vfsops.h.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/vnode.h.diff?r1=1.38&r2=1.39&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/deadfs/dead_vnops.c.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fdesc/fdesc_vfsops.c.diff?r1=1.15&r2=1.16&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/fifofs/fifo_vnops.c.diff?r1=1.20&r2=1.21&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_vfsops.c.diff?r1=1.30&r2=1.31&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hpfs/hpfs_vfsops.c.diff?r1=1.29&r2=1.30&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/isofs/cd9660/cd9660_vfsops.c.diff?r1=1.27&r2=1.28&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/mfs/mfs_vnops.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.27&r2=1.28&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_nqlease.c.diff?r1=1.26&r2=1.27&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_socket.c.diff?r1=1.29&r2=1.30&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vfsops.c.diff?r1=1.32&r2=1.33&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ntfs/ntfs_vfsops.c.diff?r1=1.29&r2=1.30&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nullfs/null_vfsops.c.diff?r1=1.17&r2=1.18&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nwfs/nwfs_vfsops.c.diff?r1=1.19&r2=1.20&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/portal/portal_vfsops.c.diff?r1=1.16&r2=1.17&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/procfs/procfs_vfsops.c.diff?r1=1.12&r2=1.13&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_vfsops.c.diff?r1=1.22&r2=1.23&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/specfs/spec_vnops.c.diff?r1=1.28&r2=1.29&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/udf/udf_vfsops.c.diff?r1=1.14&r2=1.15&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/dinode.h.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_vfsops.c.diff?r1=1.33&r2=1.34&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/inode.h.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_inode.c.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_vnops.c.diff?r1=1.31&r2=1.32&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/umapfs/umap_vfsops.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.20&r2=1.21&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_swap.c.diff?r1=1.18&r2=1.19&f=u