summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs/ffs_inode.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1998-02-01 01:59:12 +0000
committerdyson <dyson@FreeBSD.org>1998-02-01 01:59:12 +0000
commit1d361dc623b0ce8b1559a9861ffe0313a175d5de (patch)
treeeeaf0af014d3745c3c133d8c86659b504029950b /sys/ufs/ffs/ffs_inode.c
parent2a227e28011ea078b3715f7bce42bc5a81cb144b (diff)
downloadFreeBSD-src-1d361dc623b0ce8b1559a9861ffe0313a175d5de.zip
FreeBSD-src-1d361dc623b0ce8b1559a9861ffe0313a175d5de.tar.gz
Support more intelligent sync operations for MNT_NOATIME.
PR: kern/5577 Submitted by: Craig Leres <leres@ee.lbl.gov>
Diffstat (limited to 'sys/ufs/ffs/ffs_inode.c')
-rw-r--r--sys/ufs/ffs/ffs_inode.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c
index 77f72d3..6b64ece 100644
--- a/sys/ufs/ffs/ffs_inode.c
+++ b/sys/ufs/ffs/ffs_inode.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ffs_inode.c 8.13 (Berkeley) 4/21/95
- * $Id: ffs_inode.c,v 1.29 1997/10/16 20:32:34 phk Exp $
+ * $Id: ffs_inode.c,v 1.30 1998/01/06 05:23:36 dyson Exp $
*/
#include "opt_quota.h"
@@ -87,9 +87,15 @@ ffs_update(vp, access, modify, waitfor)
~(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE);
return (0);
}
+
+ if (vp->v_mount->mnt_flag & MNT_NOATIME) {
+ ip->i_flag &=~ IN_ACCESS;
+ }
+
if ((ip->i_flag &
(IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0)
return (0);
+
/*
* Use a copy of the current time to get consistent timestamps
* (a_access and a_modify are sometimes aliases for &time).
OpenPOWER on IntegriCloud