git: kernel - Fix "cleaned vnode isn't" panic

看板DFBSD_commit作者時間16年前 (2010/02/12 05:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 1b7df30abd5674475a59bf1c84b42774101bc3a6 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Thu Feb 11 12:40:45 2010 -0800 kernel - Fix "cleaned vnode isn't" panic * Fix the "cleaned vnode isn't" panic. This panic was occuring due to vrecycle() not checking for a vgone*() recursion. Adjust vrecycle() to check for the recursion. The recursion can be detected by testing the VRECLAIMED flag. * Under certain circumstances hammer_vop_inactive() was calling vrecycle(). This could cause the underlying vnode to be modified after it has been destroyed as the recursion returns. * Add a KKASSERT() in vgone_vxlocked() to detect the condition earlier if it occurs again. Summary of changes: sys/kern/vfs_subr.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/1b7df30abd5674475a59bf1c84b42774101bc3a6 -- DragonFly BSD source repository
文章代碼(AID): #1BT70KVk (DFBSD_commit)