aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2016-05-16 07:23:24 +0000
committerAndriy Gapon <avg@FreeBSD.org>2016-05-16 07:23:24 +0000
commit8614f45b2dfb72221688e12f0898f4a7aec0c5fb (patch)
tree97f67d13e33c0c7103287d329cf54cd0d25b5049
parentdfdc9a05c6797d244cb733f108719fdcfa0e8379 (diff)
Notes
-rw-r--r--sys/kern/vfs_mount.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index 505da758ed4a..0dfe3b6a43b1 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -1298,7 +1298,8 @@ dounmount(struct mount *mp, int flags, struct thread *td)
*/
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);
@@ -1319,7 +1320,8 @@ dounmount(struct mount *mp, int flags, struct thread *td)
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;