git: HAMMER VFS - Fix an edge case in hammer_inode_waitreclaims(

看板DFBSD_commit作者時間16年前 (2010/03/17 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 858cc00ada5173ec94940260555b52e834027986 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Tue Mar 16 10:39:01 2010 -0700 HAMMER VFS - Fix an edge case in hammer_inode_waitreclaims() * Detached inodes can build up in the flusher, causing iqueued/reclaiming to increase. hammer_inode_waitreclaims() is designed to slow down the processes responsible (typically a rm -rf) to prevent the backlog from blowing out kernel memory. * hammer_inode_waitreclaims() had a bug where a new pid entry was not being placed in the hash table such that it would be properly found by the chaining. Fix this case. * This fixes an issue where a simultanious rm -rf and (typically) two or more directory iterations via ls or find over hundreds of thousands or millions of files could cause the number of detached inodes to increase in an unbounded fashion. Summary of changes: sys/vfs/hammer/hammer_inode.c | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/858cc00ada5173ec94940260555b52e834027986 -- DragonFly BSD source repository
文章代碼(AID): #1BdyThtf (DFBSD_commit)