git: hammer2 - Fix DIO_INPROG race.
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Mar 1 11:48:22 PST 2015
commit 9f7262b510923c1aecd40717e14c57d737e94535
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Mar 1 11:46:12 2015 -0800
hammer2 - Fix DIO_INPROG race.
* It is possible when a chained DIO_INPROG is present for the DIO to become
GOOD and for the dio->refs ref to be release, but not yet have finished
its INPROG processing due to the chaining.
In this situation, a temporary user of the DIO will get/put it and hit
an important sanity assertion in putblk.
* Fix by disallowing the DIO_GOOD shortcut in hammer2_io_getblk() if the
DIO is still DIO_INPROG.
Summary of changes:
sys/vfs/hammer2/hammer2_io.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9f7262b510923c1aecd40717e14c57d737e94535
--
DragonFly BSD source repository
More information about the Commits
mailing list