From: Trond Myklebust Date: Thu, 4 Jun 2020 20:20:06 +0000 (-0400) Subject: NFS: Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC X-Git-Tag: v5.10.7~1823^2~20 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ac7cbb221159efbf4491de0177b4e20a5d62e5ae;p=platform%2Fkernel%2Flinux-rpi.git NFS: Allow applications to speed up readdir+statx() using AT_STATX_DONT_SYNC If the application uses the AT_STATX_DONT_SYNC flag after doing readdir(), then we should still mark the parent inode as seeing a readdirplus hit. That ensures that we continue to use readdirplus in the 'ls -l' type of workflow to do fast lookups of the dentries. Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 0bf1f83..90f77fd 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -794,8 +794,10 @@ int nfs_getattr(const struct path *path, struct kstat *stat, trace_nfs_getattr_enter(inode); - if ((query_flags & AT_STATX_DONT_SYNC) && !force_sync) + if ((query_flags & AT_STATX_DONT_SYNC) && !force_sync) { + nfs_readdirplus_parent_cache_hit(path->dentry); goto out_no_update; + } /* Flush out writes to the server in order to update c/mtime. */ if ((request_mask & (STATX_CTIME|STATX_MTIME)) &&