summaryrefslogtreecommitdiffstats
path: root/sys/gnu/fs
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>2006-09-26 04:15:59 +0000
committertegge <tegge@FreeBSD.org>2006-09-26 04:15:59 +0000
commitf42473d76b149849661d41c1f44a36dd01096d40 (patch)
tree3bc9361221d5a734023278052dddd20fb2025bee /sys/gnu/fs
parentb500b0ae92746b6a7309c0f88afadb7c588fd859 (diff)
downloadFreeBSD-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/gnu/fs')
-rw-r--r--sys/gnu/fs/ext2fs/ext2_inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_inode.c b/sys/gnu/fs/ext2fs/ext2_inode.c
index 9f84fd4..04a9d46 100644
--- a/sys/gnu/fs/ext2fs/ext2_inode.c
+++ b/sys/gnu/fs/ext2fs/ext2_inode.c
@@ -92,7 +92,7 @@ ext2_update(vp, waitfor)
}
ext2_i2ei(ip, (struct ext2_inode *)((char *)bp->b_data +
EXT2_INODE_SIZE * ino_to_fsbo(fs, ip->i_number)));
- if (waitfor && (vp->v_mount->mnt_flag & MNT_ASYNC) == 0)
+ if (waitfor && (vp->v_mount->mnt_kern_flag & MNTK_ASYNC) == 0)
return (bwrite(bp));
else {
bdwrite(bp);
OpenPOWER on IntegriCloud