tmpfs: add support for an i_version counter
authorJeff Layton <jlayton@kernel.org>
Fri, 9 Sep 2022 13:00:31 +0000 (09:00 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 3 Oct 2022 21:03:06 +0000 (14:03 -0700)
commit36f05cab0a2c97bda288c3b6a557ec5fb8d9bba6
tree5822bc43904c43dbce00d7dfe1aab83dd02e6633
parent5934ec1362b235c4341807c28f79b6a596ce1b40
tmpfs: add support for an i_version counter

NFSv4 mandates a change attribute to avoid problems with timestamp
granularity, which Linux implements using the i_version counter. This is
particularly important when the underlying filesystem is fast.

Give tmpfs an i_version counter. Since it doesn't have to be persistent,
we can just turn on SB_I_VERSION and sprinkle some inode_inc_iversion
calls in the right places.

Also, while there is no formal spec for xattrs, most implementations
update the ctime on setxattr. Fix shmem_xattr_handler_set to update the
ctime and bump the i_version appropriately.

Link: https://lkml.kernel.org/r/20220909130031.15477-1-jlayton@kernel.org
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/posix_acl.c
mm/shmem.c