git: kernel - Fix NFS server deadlock

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Sep 27 08:21:07 PDT 2010


commit b8587f8c68a1a39ba3e0175b3c228b1431a133f8
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Sep 27 08:15:31 2010 -0700

    kernel - Fix NFS server deadlock
    
    * _cache_cleanneg() was calling cache_zap() with the non-blocking argument
      set to FALSE, causing numerous out-of-order locking situations which
      could march up the topology and cause a deadlock.
    
      Fixed by calling cache_zap() with the non-blocking argument set to TRUE.
    
    * This was particularly obvious when running a buildworld with a loopback
      NFS mount for /usr/obj, which generates lots of negative cache activity,
      but theoretically could cause deadlocks even without using NFS.
    
    Reported-by: YONETANI Tomokazu <qhwt.dfly at les.ath.cx>

Summary of changes:
 sys/kern/vfs_cache.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b8587f8c68a1a39ba3e0175b3c228b1431a133f8


-- 
DragonFly BSD source repository





More information about the Commits mailing list