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