git: kernel - Fix hammer flush-during-reclaim bug

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Oct 22 00:31:34 PDT 2013


commit 7a5c5bbba40449daad3a912121a2cccc91a81fc8
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Oct 21 23:48:49 2013 -0700

    kernel - Fix hammer flush-during-reclaim bug
    
    * hammer was improperly using vn_unlock/vn_lock to temporarily unlock a
      vnode.  If this is done during a reclaim vn_lock() will fail, resulting
      in a locking mismatch.
    
    * Use vx_unlock/vx_lock instead, and also check for the reclaim by checking
      the VRECLAIMED flag rather than the VINACTIVE flag.  VINACTIVE might not
      yet be set.

Summary of changes:
 sys/vfs/hammer/hammer_vnops.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7a5c5bbba40449daad3a912121a2cccc91a81fc8


-- 
DragonFly BSD source repository



More information about the Commits mailing list