From 719d6db0e24e3417e3a8c895cffb3839f7e4aa1a Mon Sep 17 00:00:00 2001 From: mycroft Date: Tue, 30 May 2000 19:09:44 +0000 Subject: [PATCH] Adjust where IN_MODIFIED and IN_ACCESSED are cleared (as in the FFS code). --- sys/ufs/ext2fs/ext2fs_inode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/ufs/ext2fs/ext2fs_inode.c b/sys/ufs/ext2fs/ext2fs_inode.c index b125b504d71f..463a7a80f00b 100644 --- a/sys/ufs/ext2fs/ext2fs_inode.c +++ b/sys/ufs/ext2fs/ext2fs_inode.c @@ -1,4 +1,4 @@ -/* $NetBSD: ext2fs_inode.c,v 1.18 2000/05/29 18:34:36 mycroft Exp $ */ +/* $NetBSD: ext2fs_inode.c,v 1.19 2000/05/30 19:09:44 mycroft Exp $ */ /* * Copyright (c) 1997 Manuel Bouyer. @@ -147,7 +147,6 @@ ext2fs_update(v) flags = ip->i_flag & (IN_MODIFIED | IN_ACCESSED); if (flags == 0) return (0); - ip->i_flag &= ~flags; fs = ip->i_e2fs; error = bread(ip->i_devvp, @@ -157,10 +156,11 @@ ext2fs_update(v) brelse(bp); return (error); } + ip->i_flag &= ~(IN_MODIFIED | IN_ACCESSED); cp = (caddr_t)bp->b_data + (ino_to_fsbo(fs, ip->i_number) * EXT2_DINODE_SIZE); e2fs_isave(&ip->i_din.e2fs_din, (struct ext2fs_dinode *)cp); - if ((ap->a_flags & (UPDATE_WAIT|UPDATE_DIROP)) != 0&& + if ((ap->a_flags & (UPDATE_WAIT|UPDATE_DIROP)) != 0 && (flags & IN_MODIFIED) != 0 && (ap->a_vp->v_mount->mnt_flag & MNT_ASYNC) == 0) return (bwrite(bp));