diff options
author | dyson <dyson@FreeBSD.org> | 1998-02-01 01:59:12 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1998-02-01 01:59:12 +0000 |
commit | 1d361dc623b0ce8b1559a9861ffe0313a175d5de (patch) | |
tree | eeaf0af014d3745c3c133d8c86659b504029950b /sys/ufs/ffs/ffs_inode.c | |
parent | 2a227e28011ea078b3715f7bce42bc5a81cb144b (diff) | |
download | FreeBSD-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.c | 8 |
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). |