Module Name: src Committed By: dholland Date: Mon Nov 5 17:24:12 UTC 2012
Modified Files: src/sys/fs/adosfs: adlookup.c src/sys/fs/cd9660: cd9660_lookup.c src/sys/fs/efs: efs_vnops.c src/sys/fs/filecorefs: filecore_lookup.c src/sys/fs/msdosfs: msdosfs_lookup.c src/sys/fs/nilfs: nilfs_vnops.c src/sys/fs/ntfs: ntfs_vnops.c src/sys/fs/puffs: puffs_vnops.c src/sys/fs/smbfs: smbfs_vnops.c src/sys/fs/tmpfs: tmpfs_vnops.c src/sys/fs/udf: udf_vnops.c src/sys/fs/union: union.h union_subr.c src/sys/kern: vfs_cache.c vfs_getcwd.c vfs_lookup.c src/sys/nfs: nfs_vnops.c src/sys/rump/librump/rumpvfs: rump_vfs.c src/sys/sys: namei.src src/sys/ufs/chfs: chfs_vnops.c src/sys/ufs/ext2fs: ext2fs_lookup.c src/sys/ufs/ufs: ufs_lookup.c Log Message: Disentangle the namecache from the internals of namei. - Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it. - It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for. - Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags. This change requires a kernel bump. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/fs/adosfs/adlookup.c cvs rdiff -u -r1.20 -r1.21 src/sys/fs/cd9660/cd9660_lookup.c cvs rdiff -u -r1.26 -r1.27 src/sys/fs/efs/efs_vnops.c cvs rdiff -u -r1.14 -r1.15 src/sys/fs/filecorefs/filecore_lookup.c cvs rdiff -u -r1.24 -r1.25 src/sys/fs/msdosfs/msdosfs_lookup.c cvs rdiff -u -r1.18 -r1.19 src/sys/fs/nilfs/nilfs_vnops.c cvs rdiff -u -r1.52 -r1.53 src/sys/fs/ntfs/ntfs_vnops.c cvs rdiff -u -r1.174 -r1.175 src/sys/fs/puffs/puffs_vnops.c cvs rdiff -u -r1.80 -r1.81 src/sys/fs/smbfs/smbfs_vnops.c cvs rdiff -u -r1.98 -r1.99 src/sys/fs/tmpfs/tmpfs_vnops.c cvs rdiff -u -r1.72 -r1.73 src/sys/fs/udf/udf_vnops.c cvs rdiff -u -r1.23 -r1.24 src/sys/fs/union/union.h cvs rdiff -u -r1.55 -r1.56 src/sys/fs/union/union_subr.c cvs rdiff -u -r1.89 -r1.90 src/sys/kern/vfs_cache.c cvs rdiff -u -r1.47 -r1.48 src/sys/kern/vfs_getcwd.c cvs rdiff -u -r1.196 -r1.197 src/sys/kern/vfs_lookup.c cvs rdiff -u -r1.295 -r1.296 src/sys/nfs/nfs_vnops.c cvs rdiff -u -r1.67 -r1.68 src/sys/rump/librump/rumpvfs/rump_vfs.c cvs rdiff -u -r1.27 -r1.28 src/sys/sys/namei.src cvs rdiff -u -r1.11 -r1.12 src/sys/ufs/chfs/chfs_vnops.c cvs rdiff -u -r1.70 -r1.71 src/sys/ufs/ext2fs/ext2fs_lookup.c cvs rdiff -u -r1.118 -r1.119 src/sys/ufs/ufs/ufs_lookup.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.