On Wed, Aug 17, 2022 at 09:00:02AM -0400, Jeff Layton wrote: > xfs will update the i_version when updating only the atime value, which > is not desirable for any of the current consumers of i_version. Doing so > leads to unnecessary cache invalidations on NFS and extra measurement > activity in IMA. > > Add a new XFS_ILOG_NOIVER flag, and use that to indicate that the > transaction should not update the i_version. Set that value in > xfs_vn_update_time if we're only updating the atime. > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > fs/xfs/libxfs/xfs_log_format.h | 2 +- > fs/xfs/libxfs/xfs_trans_inode.c | 2 +- > fs/xfs/xfs_iops.c | 10 +++++++--- > 3 files changed, 9 insertions(+), 5 deletions(-) > > Dave, > > How about this for an alternate approach? This just explicitly ensures > that we don't bump the i_version on an atime-only update, and seems to > fix the testcase I have. This just duplicates lazytime functionality, only now users can't opt-in or out. atime update filtering is a VFS function so behaviour is common across all filesystems. Deficiencies in VFS filtering behaviour should not be hacked around by individual filesystems, the VFS filtering should be fixed. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx