git: kernel - Fix "cleaned vnode isn't" panic
dillon at crater.dragonflybsd.org
Thu Feb 11 12:47:50 PST 2010
Author: Matthew Dillon <dillon at 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(-)
DragonFly BSD source repository
More information about the Commits