Module Name: src Committed By: dholland Date: Tue Jun 29 22:34:10 UTC 2021
Modified Files: src/sys/coda: coda_vnops.c src/sys/fs/adosfs: advnops.c src/sys/fs/autofs: autofs_vnops.c src/sys/fs/cd9660: cd9660_vnops.c src/sys/fs/efs: efs_vnops.c src/sys/fs/filecorefs: filecore_vnops.c src/sys/fs/hfs: hfs_vnops.c src/sys/fs/msdosfs: msdosfs_vnops.c src/sys/fs/nilfs: nilfs_vnops.c src/sys/fs/ntfs: ntfs_vnops.c src/sys/fs/ptyfs: ptyfs_vnops.c src/sys/fs/puffs: puffs_vnops.c src/sys/fs/sysvbfs: sysvbfs.c src/sys/fs/tmpfs: tmpfs_fifoops.c tmpfs_specops.c tmpfs_vnops.c src/sys/fs/udf: udf_vnops.c src/sys/fs/union: union_vnops.c src/sys/fs/unionfs: unionfs_vnops.c src/sys/fs/v7fs: v7fs_extern.c src/sys/kern: vfs_lookup.c vnode_if.src src/sys/miscfs/deadfs: dead_vnops.c src/sys/miscfs/fdesc: fdesc_vnops.c src/sys/miscfs/fifofs: fifo_vnops.c src/sys/miscfs/genfs: genfs.h genfs_vnops.c src/sys/miscfs/kernfs: kernfs_vnops.c src/sys/miscfs/procfs: procfs_vnops.c src/sys/miscfs/specfs: spec_vnops.c src/sys/nfs: nfs_vnops.c src/sys/rump/librump/rumpvfs: rumpfs.c src/sys/ufs/chfs: chfs_vnops.c src/sys/ufs/ext2fs: ext2fs_vnops.c src/sys/ufs/ffs: ffs_vnops.c src/sys/ufs/lfs: lfs_vnops.c src/sys/ufs/mfs: mfs_vnops.c Log Message: - Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table. VOP_PARSEPATH takes a directory vnode to be searched and a complete following path and chooses how much of that path to consume. To begin with, all parsepath calls are genfs_parsepath, which locates the first '/' as always. Note that the call doesn't take the whole struct componentname, only the string. The other bits of struct componentname should not be needed and there's no reason to cause potential complications by exposing them. To generate a diff of this commit: cvs rdiff -u -r1.114 -r1.115 src/sys/coda/coda_vnops.c cvs rdiff -u -r1.55 -r1.56 src/sys/fs/adosfs/advnops.c cvs rdiff -u -r1.6 -r1.7 src/sys/fs/autofs/autofs_vnops.c cvs rdiff -u -r1.58 -r1.59 src/sys/fs/cd9660/cd9660_vnops.c cvs rdiff -u -r1.41 -r1.42 src/sys/fs/efs/efs_vnops.c cvs rdiff -u -r1.47 -r1.48 src/sys/fs/filecorefs/filecore_vnops.c cvs rdiff -u -r1.36 -r1.37 src/sys/fs/hfs/hfs_vnops.c cvs rdiff -u -r1.104 -r1.105 src/sys/fs/msdosfs/msdosfs_vnops.c cvs rdiff -u -r1.42 -r1.43 src/sys/fs/nilfs/nilfs_vnops.c cvs rdiff -u -r1.65 -r1.66 src/sys/fs/ntfs/ntfs_vnops.c cvs rdiff -u -r1.63 -r1.64 src/sys/fs/ptyfs/ptyfs_vnops.c cvs rdiff -u -r1.217 -r1.218 src/sys/fs/puffs/puffs_vnops.c cvs rdiff -u -r1.18 -r1.19 src/sys/fs/sysvbfs/sysvbfs.c cvs rdiff -u -r1.12 -r1.13 src/sys/fs/tmpfs/tmpfs_fifoops.c cvs rdiff -u -r1.13 -r1.14 src/sys/fs/tmpfs/tmpfs_specops.c cvs rdiff -u -r1.145 -r1.146 src/sys/fs/tmpfs/tmpfs_vnops.c cvs rdiff -u -r1.114 -r1.115 src/sys/fs/udf/udf_vnops.c cvs rdiff -u -r1.74 -r1.75 src/sys/fs/union/union_vnops.c cvs rdiff -u -r1.14 -r1.15 src/sys/fs/unionfs/unionfs_vnops.c cvs rdiff -u -r1.7 -r1.8 src/sys/fs/v7fs/v7fs_extern.c cvs rdiff -u -r1.227 -r1.228 src/sys/kern/vfs_lookup.c cvs rdiff -u -r1.80 -r1.81 src/sys/kern/vnode_if.src cvs rdiff -u -r1.63 -r1.64 src/sys/miscfs/deadfs/dead_vnops.c cvs rdiff -u -r1.136 -r1.137 src/sys/miscfs/fdesc/fdesc_vnops.c cvs rdiff -u -r1.82 -r1.83 src/sys/miscfs/fifofs/fifo_vnops.c cvs rdiff -u -r1.36 -r1.37 src/sys/miscfs/genfs/genfs.h cvs rdiff -u -r1.210 -r1.211 src/sys/miscfs/genfs/genfs_vnops.c cvs rdiff -u -r1.167 -r1.168 src/sys/miscfs/kernfs/kernfs_vnops.c cvs rdiff -u -r1.216 -r1.217 src/sys/miscfs/procfs/procfs_vnops.c cvs rdiff -u -r1.181 -r1.182 src/sys/miscfs/specfs/spec_vnops.c cvs rdiff -u -r1.317 -r1.318 src/sys/nfs/nfs_vnops.c cvs rdiff -u -r1.162 -r1.163 src/sys/rump/librump/rumpvfs/rumpfs.c cvs rdiff -u -r1.42 -r1.43 src/sys/ufs/chfs/chfs_vnops.c cvs rdiff -u -r1.132 -r1.133 src/sys/ufs/ext2fs/ext2fs_vnops.c cvs rdiff -u -r1.133 -r1.134 src/sys/ufs/ffs/ffs_vnops.c cvs rdiff -u -r1.336 -r1.337 src/sys/ufs/lfs/lfs_vnops.c cvs rdiff -u -r1.61 -r1.62 src/sys/ufs/mfs/mfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.