diff options
author | tegge <tegge@FreeBSD.org> | 2006-09-26 04:15:59 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 2006-09-26 04:15:59 +0000 |
commit | f42473d76b149849661d41c1f44a36dd01096d40 (patch) | |
tree | 3bc9361221d5a734023278052dddd20fb2025bee /sys/kern/vfs_cluster.c | |
parent | b500b0ae92746b6a7309c0f88afadb7c588fd859 (diff) | |
download | FreeBSD-src-f42473d76b149849661d41c1f44a36dd01096d40.zip FreeBSD-src-f42473d76b149849661d41c1f44a36dd01096d40.tar.gz |
Add mnt_noasync counter to better handle interleaved calls to nmount(),
sync() and sync_fsync() without losing MNT_ASYNC. Add MNTK_ASYNC flag
which is set only when MNT_ASYNC is set and mnt_noasync is zero, and
check that flag instead of MNT_ASYNC before initiating async io.
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r-- | sys/kern/vfs_cluster.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index b749f56..4c2cfaf 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -595,7 +595,7 @@ cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) int async; if (vp->v_type == VREG) { - async = vp->v_mount->mnt_flag & MNT_ASYNC; + async = vp->v_mount->mnt_kern_flag & MNTK_ASYNC; lblocksize = vp->v_mount->mnt_stat.f_iosize; } else { async = 0; |