Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07b5ce8e authored by Scott Mayhew's avatar Scott Mayhew Committed by Trond Myklebust
Browse files

NFS: Make nfs_readdir revalidate less often



Make nfs_readdir revalidate only when we're at the beginning of the directory or
if the cached attributes have expired.

Signed-off-by: default avatarScott Mayhew <smayhew@redhat.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 43f291cd
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -818,7 +818,7 @@ static int nfs_readdir(struct file *file, struct dir_context *ctx)
	nfs_readdir_descriptor_t my_desc,
			*desc = &my_desc;
	struct nfs_open_dir_context *dir_ctx = file->private_data;
	int res;
	int res = 0;

	dfprintk(FILE, "NFS: readdir(%s/%s) starting at cookie %llu\n",
			dentry->d_parent->d_name.name, dentry->d_name.name,
@@ -840,6 +840,7 @@ static int nfs_readdir(struct file *file, struct dir_context *ctx)
	desc->plus = nfs_use_readdirplus(inode, ctx) ? 1 : 0;

	nfs_block_sillyrename(dentry);
	if (ctx->pos == 0 || nfs_attribute_cache_expired(inode))
		res = nfs_revalidate_mapping(inode, file->f_mapping);
	if (res < 0)
		goto out;