DragonFly BSD
DragonFly commits List (threaded) for 2010-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 11 Feb 2010 12:46:32 -0800 (PST)

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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]