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/gnu/fs/ext2fs/ext2_inode.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/gnu/fs/ext2fs/ext2_inode.c')
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_inode.c | 2 |
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); |