DragonFly commits List (threaded) for 2010-02
git: kernel - Fix "cleaned vnode isn't" panic
Author: Matthew Dillon <email@example.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