diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-04-29 12:30:19 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-05-01 15:42:41 -0400 |
commit | 01da47bde78ff2149f6546a0f17e25983aaddd7b (patch) | |
tree | 6509cf6b64e79445757d1d6491c4bbac655dd038 /fs/nfs/inode.c | |
parent | b4b1eadf7c5f00636500ad47f68edc0666e63ea5 (diff) |
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>
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r-- | fs/nfs/inode.c | 2 |
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 | |||
955 | unsigned long invalid = 0; | 955 | unsigned long invalid = 0; |
956 | 956 | ||
957 | 957 | ||
958 | if (nfs_have_delegated_attributes(inode)) | ||
959 | return 0; | ||
958 | /* Has the inode gone and changed behind our back? */ | 960 | /* Has the inode gone and changed behind our back? */ |
959 | if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid) | 961 | if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid) |
960 | return -EIO; | 962 | return -EIO; |