git: hammer - Attempt to fix improper call to vsetisdirty() in hammer flush

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Jan 18 20:20:36 PST 2015


commit 68c15bdc98e98ddf9dff22cec67d388694aa6d3a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Jan 18 20:17:42 2015 -0800

    hammer - Attempt to fix improper call to vsetisdirty() in hammer flush
    
    * The hammer flush occurs in the background.  Because of this it is possible
      for a vnode to be reclaimed just prior to the flush code getting to it.
    
    * Attempt to fix an improper call to vsetisdirty() which can panic the machine
      on vp->v_mount becoming NULL.  The vnode reclamation should theoretically be
      interlocked against the inode lock so it should suffice to simply check
      to see if it has been reclaimed yet or not.
    
    * Also don't bother marking the vnode dirty if it is already marked dirty.

Summary of changes:
 sys/vfs/hammer/hammer_inode.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/68c15bdc98e98ddf9dff22cec67d388694aa6d3a


-- 
DragonFly BSD source repository



More information about the Commits mailing list