aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs/ufs/ufs_extern.h
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2005-03-14 10:01:29 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2005-03-14 10:01:29 +0000
commit6c325a2a21b30c878cac1c633e90fc3f79dff99a (patch)
treea502d92b8c74fd2651cffcc1795c4feb98f9dbf2 /sys/ufs/ufs/ufs_extern.h
parent8045557f2b4632bf53a80e483bb909a848a5ddda (diff)
downloadsrc-6c325a2a21b30c878cac1c633e90fc3f79dff99a.tar.gz
src-6c325a2a21b30c878cac1c633e90fc3f79dff99a.zip
Currently (almost) all filesystems maintain a local inode hash table
to get from (mount + inode) to vnode. These tables are mostly copy&pasted from UFS, sized based on desiredvnodes and therefore quite large (128K-512K). Several filesystems are buggy enough that they allocate the hash table even before they know if they will ever be used or not. Add "vfs_hash", a system wide hash table, which will replace all the per-filesystem hash-tables. The fields we add to struct vnode will more or less be saved in the respective filesystems inodes. Having one central implementation will save code and will allow us to justify the complexity of code to dynamically (re)size the hash at a later point.
Notes
Notes: svn path=/head/; revision=143561
Diffstat (limited to 'sys/ufs/ufs/ufs_extern.h')
0 files changed, 0 insertions, 0 deletions