2010-12-29 13:59:11

by yangsheng

[permalink] [raw]
Subject: [PATCH] Update atime from future.

Signed-off-by: [email protected]
---
fs/inode.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/fs/inode.c b/fs/inode.c
index da85e56..6c8effd 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1469,7 +1469,13 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
return 1;

/*
- * Is the previous atime value older than a day? If yes,
+ * Is the previous atime value in future? If yes,
+ * update atime:
+ */
+ if ((long)(now.tv_sec - inode->i_atime.tv_sec) < 0)
+ return 1;
+ /*
+ * Is the previous atime value old than a day? If yes,
* update atime:
*/
if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60)
--
1.7.2.3