diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2006-12-13 03:34:35 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-13 12:05:50 -0500 |
commit | 7e913c53609d5e8374f55d6f29c0bcd6650a2362 (patch) | |
tree | 77082566215aa8c8a43e2217819e35ce39ffbe63 /fs/ocfs2 | |
parent | 47ae32d6a54955a041cdc30b06d0bb16e75f68d5 (diff) |
[PATCH] ocfs2: relative atime support
Update ocfs2_should_update_atime() to understand the MNT_RELATIME flag and
to test against mtime / ctime accordingly.
[akpm@osdl.org: cleanups]
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Cc: Valerie Henson <val_henson@linux.intel.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ocfs2')
-rw-r--r-- | fs/ocfs2/file.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index e9a82ad95c1..9fd590b9bde 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -153,6 +153,14 @@ int ocfs2_should_update_atime(struct inode *inode, | |||
153 | ((vfsmnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode))) | 153 | ((vfsmnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode))) |
154 | return 0; | 154 | return 0; |
155 | 155 | ||
156 | if (vfsmnt->mnt_flags & MNT_RELATIME) { | ||
157 | if ((timespec_compare(&inode->i_atime, &inode->i_mtime) <= 0) || | ||
158 | (timespec_compare(&inode->i_atime, &inode->i_ctime) <= 0)) | ||
159 | return 1; | ||
160 | |||
161 | return 0; | ||
162 | } | ||
163 | |||
156 | now = CURRENT_TIME; | 164 | now = CURRENT_TIME; |
157 | if ((now.tv_sec - inode->i_atime.tv_sec <= osb->s_atime_quantum)) | 165 | if ((now.tv_sec - inode->i_atime.tv_sec <= osb->s_atime_quantum)) |
158 | return 0; | 166 | return 0; |