On Wed, Aug 17, 2022 at 08:19:03PM +0200, Jan Kara wrote: > On Wed 17-08-22 12:26:38, 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 also > > 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 time 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> > > Cc: Christian Brauner <brauner@xxxxxxxxxx> > > Cc: Jan Kara <jack@xxxxxxx> > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > > Hopefully all cases covered ;) Feel free to add: > > Reviewed-by: Jan Kara <jack@xxxxxxx> Thanks for making sure all cases are covered. :) Reviewed-by: Christian Brauner (Microsoft) <brauner@xxxxxxxxxx>