cvs commit: src/sys/vfs/hammer hammer_btree.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Feb 24 15:41:12 PST 2008
dillon 2008/02/24 15:40:24 PST
DragonFly src repository
Modified files:
sys/vfs/hammer hammer_btree.c
Log:
HAMMER 31C/many: Fix livelock in deadlock handling code
* The wrong B-Tree node was being recorded in cursor->deadlk_node in
one of the B-Tree subroutines. Deadlocks are handled by acquiring
and releasing the recorded conflicting node after releasing all other
locks, and then retrying. Recording the wrong node caused the
handling routine to not block waiting for the deadlock to resolve
and resulted in a livelock.
Reported-by: YONETANI Tomokazu <qhwt+dfly at les.ath.cx>
Revision Changes Path
1.31 +1 -1 src/sys/vfs/hammer/hammer_btree.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_btree.c.diff?r1=1.30&r2=1.31&f=u
More information about the Commits
mailing list