Re: [patch] implement smarter atime updates support
From: Arjan van de Ven <hidden>
Date: 2007-08-05 19:55:25
Also in:
lkml
From: Arjan van de Ven <hidden>
Date: 2007-08-05 19:55:25
Also in:
lkml
+static int relatime_need_update(struct inode *inode, struct timespec now)
+{
+ /*
+ * Is mtime younger than atime? If yes, update atime:
+ */
+ if (timespec_compare(&inode->i_mtime, &inode->i_atime) >= 0)
+ return 1;
+ /*
+ * Is ctime younger than atime? If yes, update atime:
+ */
+ if (timespec_compare(&inode->i_ctime, &inode->i_atime) >= 0)
+ return 1;
+
+ /*
+ * Is the previous atime value older than a day? If yes,
+ * update atime:
+ */
+ if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60)
+ return 1;you might want to add /* * if the inode is dirty already, do the atime update since * we'll be doing the disk IO anyway to clean the inode. */ if (inode->i_state & I_DIRTY) return 1; -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>