git: kernel - Fix two rare namecache bugs

Matthew Dillon dillon at
Sun Feb 11 08:57:22 PST 2018

commit 5ecd24e2200bb7738582682e773ea5ec189d5e12
Author: Matthew Dillon <dillon at>
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(-)

DragonFly BSD source repository

More information about the Commits mailing list