svn commit: r249053 - stable/9/sys/kern
Konstantin Belousov
kib at FreeBSD.org
Wed Apr 3 15:34:25 UTC 2013
Author: kib
Date: Wed Apr 3 15:34:25 2013
New Revision: 249053
URL: http://svnweb.freebsd.org/changeset/base/249053
Log:
MFC r248562:
Move the vn_start_write() call in the dounmount() before setting the
MNTK_UNMOUNT flag.
Modified:
stable/9/sys/kern/vfs_mount.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/kern/vfs_mount.c
==============================================================================
--- stable/9/sys/kern/vfs_mount.c Wed Apr 3 14:10:37 2013 (r249052)
+++ stable/9/sys/kern/vfs_mount.c Wed Apr 3 15:34:25 2013 (r249053)
@@ -1260,12 +1260,14 @@ dounmount(mp, flags, td)
return (error);
}
+ vn_start_write(NULL, &mp, V_WAIT);
MNT_ILOCK(mp);
if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0 ||
!TAILQ_EMPTY(&mp->mnt_uppers)) {
MNT_IUNLOCK(mp);
if (coveredvp)
VOP_UNLOCK(coveredvp, 0);
+ vn_finished_write(mp);
return (EBUSY);
}
mp->mnt_kern_flag |= MNTK_UNMOUNT | MNTK_NOINSMNTQ;
@@ -1285,7 +1287,6 @@ dounmount(mp, flags, td)
KASSERT(error == 0,
("%s: invalid return value for msleep in the drain path @ %s:%d",
__func__, __FILE__, __LINE__));
- vn_start_write(NULL, &mp, V_WAIT);
if (mp->mnt_flag & MNT_EXPUBLIC)
vfs_setpublicfs(NULL, NULL, NULL);
More information about the svn-src-stable-9
mailing list