On 01/03/2011 06:17 PM, Andrew Morton wrote:
On Wed, 29 Dec 2010 21:58:41 +0800 yangsheng<sickamd@xxxxxxxxx> wrote:
Signed-off-by: sickamd@xxxxxxxxx
---
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)
Why do you believe this change is needed? Did you observe some problem
which it fixes? If so, please fully describe that problem.
If atime has been set to future(maybe cause by some accident system time
adjust or wrong set by touch). It cannot be update to reflect fact
access time before system time running over one day.
Thanks
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html