DragonFly commits List (threaded) for 2013-01
git: kernel - Fix deadlock when umount races an access on the underlying filesystem
Author: Matthew Dillon <email@example.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.
Summary of changes:
sys/kern/vfs_nlookup.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
DragonFly BSD source repository