summaryrefslogtreecommitdiffstats
path: root/fs/nfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r--fs/nfs/inode.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 90d9fbfd82db..bc84ecaae886 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -1390,8 +1390,9 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
1390 unsigned long invalid = 0; 1390 unsigned long invalid = 0;
1391 1391
1392 1392
1393 if (nfs_have_delegated_attributes(inode)) 1393 if (NFS_PROTO(inode)->have_delegation(inode, FMODE_READ))
1394 return 0; 1394 return 0;
1395
1395 /* Has the inode gone and changed behind our back? */ 1396 /* Has the inode gone and changed behind our back? */
1396 if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid) 1397 if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid)
1397 return -ESTALE; 1398 return -ESTALE;
@@ -1441,7 +1442,7 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
1441 invalid |= NFS_INO_INVALID_ATIME; 1442 invalid |= NFS_INO_INVALID_ATIME;
1442 1443
1443 if (invalid != 0) 1444 if (invalid != 0)
1444 nfs_set_cache_invalid(inode, invalid | NFS_INO_REVAL_FORCED); 1445 nfs_set_cache_invalid(inode, invalid);
1445 1446
1446 nfsi->read_cache_jiffies = fattr->time_start; 1447 nfsi->read_cache_jiffies = fattr->time_start;
1447 return 0; 1448 return 0;