On Thu, Sep 08, 2022 at 01:24:42PM -0400, Jeff Layton wrote: > ext4 currently updates the i_version counter when the atime is updated > during a read. This is less than ideal as it can cause unnecessary cache > invalidations with NFSv4 and unnecessary remeasurements for IMA. > > The increment in ext4_mark_iloc_dirty is also problematic since it can > corrupt the i_version counter for ea_inodes. We aren't bumping the file > times in ext4_mark_iloc_dirty, so changing the i_version there seems > wrong, and is the cause of both problems. > > Remove that callsite and add increments to the setattr, setxattr and > ioctl codepaths, at the same times that we update the ctime. The > i_version bump that already happens during timestamp updates should take > care of the rest. > > In ext4_move_extents, increment the i_version on both inodes, and also > add in missing ctime updates. > > Cc: Lukas Czerner <lczerner@xxxxxxxxxx> > Reviewed-by: Jan Kara <jack@xxxxxxx> > Reviewed-by: Christian Brauner (Microsoft) <brauner@xxxxxxxxxx> > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Thanks, I've applied just this patch from this patch series. I made some minor adjustments since we've already enabled the i_version counter unconditionally via another patch series from Lukas. - Ted