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