Hi, This is a followup to the RESOLVE_CACHED addition that allows us to speedup the io_uring open side (and enable RESOLVE_CACHED through openat2). Mostly straight forward, as you can see from patch 1, this just adds AT_STATX_CACHED that sits on top of that. Patch 2 is the mostly ugly part, but not sure how we can do this any better - we need to ensure that any sort of revalidation or sync in ->getattr() honors it too. Patch 3 is just adapting to this in io_uring. fs/9p/vfs_inode.c | 2 ++ fs/afs/inode.c | 3 +++ fs/ceph/inode.c | 2 ++ fs/cifs/inode.c | 3 +++ fs/coda/inode.c | 7 ++++++- fs/ecryptfs/inode.c | 3 +++ fs/fuse/dir.c | 2 ++ fs/gfs2/inode.c | 2 ++ fs/io_uring.c | 21 ++++++++++++++------- fs/kernfs/inode.c | 8 +++++++- fs/nfs/inode.c | 3 +++ fs/ocfs2/file.c | 3 +++ fs/orangefs/inode.c | 3 +++ fs/stat.c | 4 +++- fs/ubifs/dir.c | 7 ++++++- fs/udf/symlink.c | 3 +++ fs/vboxsf/utils.c | 4 ++++ include/uapi/linux/fcntl.h | 2 ++ 18 files changed, 71 insertions(+), 11 deletions(-) -- Jens Axboe