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

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


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 29 Jan 2013 15:07:29 -0800 (PST)

commit 63f86bf72020204ff34fd652a6d738e2ed7fa79e
Author: Matthew Dillon <dillon@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



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