Thread (3 messages) 3 messages, 3 authors, 2022-08-18

Re: [PATCH v2] ext4: fix i_version handling in ext4

flat view

From: Christian Brauner <brauner@kernel.org>
Date: 2022-08-18 07:36:50
Also in: linux-fsdevel

On Wed, Aug 17, 2022 at 08:19:03PM +0200, Jan Kara wrote:
On Wed 17-08-22 12:26:38, Jeff Layton wrote:
quoted
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 <redacted>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Hopefully all cases covered ;) Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>
Thanks for making sure all cases are covered. :)
Reviewed-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help