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 <[EMAIL PROTECTED]>
  
  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

Reply via email to