DragonFly BSD
DragonFly commits List (threaded) for 2012-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: DragonFly_RELEASE_3_2 kernel - Fix filesystem lookup error due to parent directory recyclement race


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 13 Dec 2012 19:17:32 -0800 (PST)

commit bfbb2132a079ca54cc1fa53d20df0cc3fba3be3d
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Fri Dec 7 14:44:26 2012 -0800

    kernel - Fix filesystem lookup error due to parent directory recyclement race
    
    * When looking up a path the parent ncp's vnode is needed to pass into
      the VFS code as the directory vnode (dvp) for the element being looked up.
    
    * Fix a timing race whereby a system under extreme vnode pressure (such as
      when kern.maxvnodes is set to a very low value) can squeek in recyclement
      of this directory vnode when there are no children under it in the
      namecache.
    
      We fix the problem by holding the directory vnode during the nlookup() and
      cache_resolve().

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

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


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]