git: hammer2 - Fix a few assertion panics and other bugs

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Mar 2 22:37:17 PST 2015


commit cb69ad6427b4bafee20d6a084dc779b64377025b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Mar 2 22:32:12 2015 -0800

    hammer2 - Fix a few assertion panics and other bugs
    
    * hammer2_io_getblk() was referencing a dio potentially after disposing
      of it.
    
    * Remove the DIO_GOOD patch I previously committed, replacing it with
      a different (better) fix for the DIO_GOOD/DIO_INPROG race.
    
      The new fix is to run the iocb chains on IO completion before marking
      any of the iocbs done, using a simple depth-first recursion.  INPROG
      is cleared on the last iocb chain so all IOCB_DONE's occur after it
      has been cleared.
    
    * iocb->flags must be modified with atomic ops now.

Summary of changes:
 sys/vfs/hammer2/hammer2_io.c | 102 ++++++++++++++++++++++++++-----------------
 1 file changed, 62 insertions(+), 40 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cb69ad6427b4bafee20d6a084dc779b64377025b


-- 
DragonFly BSD source repository



More information about the Commits mailing list