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