[PATCH 0/2] fs: fixes for multigrain ctime code

From: Jeff Layton
Date: Thu Sep 07 2023 - 13:53:02 EST


The kernel test robot noted some test failures with the LTP mount03 test
on tmpfs. From the test output, it looked like the atime had gone
backward.

One way this could happen would be for tmpfs to get a new inode from the
slab that had a ctime that appeared to be in the future.
inode_update_ctime_current would just return that time and then the
mtime and atime would be set to the same value. Then later, the atime
gets overwritten by "now" which is still lower than the garbage ctime
value.

I've not been able to reproduce this on my test rig, so I'm not certain
this fixes the problem that was reported. I'm hopeful though, so I've
left the KTR tags in place.

Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
---
Jeff Layton (2):
fs: initialize inode->__i_ctime to the epoch
fs: don't update the atime if existing atime is newer than "now"

fs/inode.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---
base-commit: 7ba2090ca64ea1aa435744884124387db1fac70f
change-id: 20230907-ctime-fixes-ec6319ca01be

Best regards,
--
Jeff Layton <jlayton@xxxxxxxxxx>