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