summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_mount.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-03-09 00:12:05 +0000
committerkib <kib@FreeBSD.org>2012-03-09 00:12:05 +0000
commit5abd2bb7cbd2cc42a6de61b0ed4363777f59a304 (patch)
tree91f6644869a5d433f2a4ca2bb1e439ef620788cb /sys/kern/vfs_mount.c
parentf9172f43af2ac202a68fdef4aa01e354929d73e2 (diff)
downloadFreeBSD-src-5abd2bb7cbd2cc42a6de61b0ed4363777f59a304.zip
FreeBSD-src-5abd2bb7cbd2cc42a6de61b0ed4363777f59a304.tar.gz
Decomission mnt_noasync. Introduce MNTK_NOASYNC mnt_kern_flag which
allows a filesystem to request VFS to not allow MNTK_ASYNC. MFC after: 1 week
Diffstat (limited to 'sys/kern/vfs_mount.c')
-rw-r--r--sys/kern/vfs_mount.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index ddc17cc..93387ca 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -851,7 +851,8 @@ vfs_domount_first(
mp->mnt_optnew = NULL;
MNT_ILOCK(mp);
- if ((mp->mnt_flag & MNT_ASYNC) != 0 && mp->mnt_noasync == 0)
+ if ((mp->mnt_flag & MNT_ASYNC) != 0 &&
+ (mp->mnt_kern_flag & MNTK_NOASYNC) == 0)
mp->mnt_kern_flag |= MNTK_ASYNC;
else
mp->mnt_kern_flag &= ~MNTK_ASYNC;
@@ -991,7 +992,8 @@ vfs_domount_update(
*/
mp->mnt_flag = (mp->mnt_flag & MNT_QUOTA) | (flag & ~MNT_QUOTA);
}
- if ((mp->mnt_flag & MNT_ASYNC) != 0 && mp->mnt_noasync == 0)
+ if ((mp->mnt_flag & MNT_ASYNC) != 0 &&
+ (mp->mnt_kern_flag & MNTK_NOASYNC) == 0)
mp->mnt_kern_flag |= MNTK_ASYNC;
else
mp->mnt_kern_flag &= ~MNTK_ASYNC;
@@ -1351,7 +1353,8 @@ dounmount(mp, flags, td)
}
mp->mnt_kern_flag &= ~(MNTK_UNMOUNT | MNTK_UNMOUNTF);
mp->mnt_flag |= async_flag;
- if ((mp->mnt_flag & MNT_ASYNC) != 0 && mp->mnt_noasync == 0)
+ if ((mp->mnt_flag & MNT_ASYNC) != 0 &&
+ (mp->mnt_kern_flag & MNTK_NOASYNC) == 0)
mp->mnt_kern_flag |= MNTK_ASYNC;
if (mp->mnt_kern_flag & MNTK_MWAIT) {
mp->mnt_kern_flag &= ~MNTK_MWAIT;
OpenPOWER on IntegriCloud