NFS: Optimise away nfs_check_inode_attributes() when holding a delegation
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sun, 29 Apr 2012 16:30:19 +0000 (12:30 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 1 May 2012 19:42:41 +0000 (15:42 -0400)
We already know that the attribute cache is valid.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/inode.c

index fed27c0..81946e7 100644 (file)
@@ -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;