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

Matthew Dillon dillon at
Thu Feb 11 12:47:50 PST 2010

commit 1b7df30abd5674475a59bf1c84b42774101bc3a6
Author: Matthew Dillon <dillon at>
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 mailing list