svn commit: r302716 - stable/10/sys/kern

Andriy Gapon avg at FreeBSD.org
Wed Jul 13 09:03:03 UTC 2016


Author: avg
Date: Wed Jul 13 09:03:01 2016
New Revision: 302716
URL: https://svnweb.freebsd.org/changeset/base/302716

Log:
  MFC r299913: dounmount: do not call mountcheckdirs() for mounts with MNT_IGNORE

Modified:
  stable/10/sys/kern/vfs_mount.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/kern/vfs_mount.c
==============================================================================
--- stable/10/sys/kern/vfs_mount.c	Wed Jul 13 09:02:14 2016	(r302715)
+++ stable/10/sys/kern/vfs_mount.c	Wed Jul 13 09:03:01 2016	(r302716)
@@ -1315,7 +1315,8 @@ dounmount(struct mount *mp, int flags, s
 	 */
 	if ((flags & MNT_FORCE) &&
 	    VFS_ROOT(mp, LK_EXCLUSIVE, &fsrootvp) == 0) {
-		if (mp->mnt_vnodecovered != NULL)
+		if (mp->mnt_vnodecovered != NULL &&
+		    (mp->mnt_flag & MNT_IGNORE) == 0)
 			mountcheckdirs(fsrootvp, mp->mnt_vnodecovered);
 		if (fsrootvp == rootvnode) {
 			vrele(rootvnode);
@@ -1336,7 +1337,8 @@ dounmount(struct mount *mp, int flags, s
 	if (error && error != ENXIO) {
 		if ((flags & MNT_FORCE) &&
 		    VFS_ROOT(mp, LK_EXCLUSIVE, &fsrootvp) == 0) {
-			if (mp->mnt_vnodecovered != NULL)
+			if (mp->mnt_vnodecovered != NULL &&
+			    (mp->mnt_flag & MNT_IGNORE) == 0)
 				mountcheckdirs(mp->mnt_vnodecovered, fsrootvp);
 			if (rootvnode == NULL) {
 				rootvnode = fsrootvp;


More information about the svn-src-all mailing list