git: kernel - Fix deadlock when umount races an access on the underlying filesystem

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Jan 29 15:07:29 PST 2013


commit 63f86bf72020204ff34fd652a6d738e2ed7fa79e
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Jan 29 15:04:05 2013 -0800

    kernel - Fix deadlock when umount races an access on the underlying filesystem
    
    * The nlookup code temporarily busies the target mount when diving a
      mount point in cases where the base of the mount is not resolved
      in the namecache.
    
    * Fix a deadlock which can occur between the namecache structural lock
      and the vfs_busy() on the mount structure by reordering the lock.
    
    * Generally only occured if an attempt was made to unmount a filesystem
      on which programs are still doing active operations (verses just
      passively holding references to the filesystem).  For example, a
      umount on the target filesystem occuring while a cpdup using an
      absolute path is running.
    
    Reported-by: ftigeot

Summary of changes:
 sys/kern/vfs_nlookup.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/63f86bf72020204ff34fd652a6d738e2ed7fa79e


-- 
DragonFly BSD source repository



More information about the Commits mailing list