summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2012-04-29 18:30:19 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-05-01 21:42:41 +0200
commit01da47bde78ff2149f6546a0f17e25983aaddd7b (patch)
tree6509cf6b64e79445757d1d6491c4bbac655dd038
parentNFS: Don't force page cache revalidations when holding a delegation (diff)
downloadlinux-01da47bde78ff2149f6546a0f17e25983aaddd7b.tar.xz
linux-01da47bde78ff2149f6546a0f17e25983aaddd7b.zip
NFS: Optimise away nfs_check_inode_attributes() when holding a delegation
We already know that the attribute cache is valid. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/inode.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index fed27c0d1a4d..81946e77647c 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -955,6 +955,8 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
unsigned long invalid = 0;
+ if (nfs_have_delegated_attributes(inode))
+ return 0;
/* Has the inode gone and changed behind our back? */
if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid)
return -EIO;