git: kernel - Fix two rare namecache bugs

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Feb 11 08:57:22 PST 2018


commit 5ecd24e2200bb7738582682e773ea5ec189d5e12
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sat Feb 10 22:11:18 2018 -0800

    kernel - Fix two rare namecache bugs
    
    * Fix calculations which use the vfscache_negs global.  This global
      is somewhat heuristical and can values which are a bit off, including
      0.  Copy to a local and limit the range, fixing a divide-by-zero
      bug and a negative-number handling bug.
    
    * Fix a bug in the handling of a race in _cache_cleanneg().  We were
      unlocking the ncp but failing to drop it, leaving it with a ref.
      The accumulating namecache records prevent umount from succeeding.
    
      This race can only occur regularly when kern.maxvnodes is set to
      a low value.

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

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5ecd24e2200bb7738582682e773ea5ec189d5e12


-- 
DragonFly BSD source repository



More information about the Commits mailing list