git: DragonFly_RELEASE_2_8 kernel - Fix namecache memory exhaust

看板DFBSD_commit作者時間15年前 (2011/01/26 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 008a60704be743a1ab739a25a333c1c401309c11 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Mon Nov 22 23:24:25 2010 -0800 kernel - Fix namecache memory exhaustion edge case * The namecache has traditionally relied on vnode limits to avoid blowing up its memory pool. However, creating millions of hardlinks to the same vnode easily circumvents this assumption. * Enhance the negative cache hysteresis code with a section for the positive cache that does the same thing, preventing the namecache from growing greater than 2x maxvnodes. This situation will not occur under normal operation, it is strictly for correctness. The kernel should never panic on normal filesystem operations even if those operations are unrealistic. * Tested w/HAMMER and a few million hardlinks to a single file. Reported-by: Venkatesh Srinivas <me@acm.jhu.edu> Summary of changes: sys/kern/vfs_cache.c | 95 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 83 insertions(+), 12 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/008a60704be743a1ab739a25a333c1c401309c11 -- DragonFly BSD source repository
文章代碼(AID): #1DFm_eZX (DFBSD_commit)