aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/inode.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index e37faa3a7bac..185cfd09d7f7 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -607,16 +607,10 @@ __nfs_revalidate_inode(struct nfs_server *server, struct inode *inode)
607 status = nfs_wait_on_inode(inode); 607 status = nfs_wait_on_inode(inode);
608 if (status < 0) 608 if (status < 0)
609 goto out; 609 goto out;
610 if (NFS_STALE(inode)) { 610
611 status = -ESTALE; 611 status = -ESTALE;
612 /* Do we trust the cached ESTALE? */ 612 if (NFS_STALE(inode))
613 if (NFS_ATTRTIMEO(inode) != 0) { 613 goto out;
614 if (nfsi->cache_validity & (NFS_INO_INVALID_ATTR|NFS_INO_INVALID_ATIME)) {
615 /* no */
616 } else
617 goto out;
618 }
619 }
620 614
621 status = NFS_PROTO(inode)->getattr(server, NFS_FH(inode), &fattr); 615 status = NFS_PROTO(inode)->getattr(server, NFS_FH(inode), &fattr);
622 if (status != 0) { 616 if (status != 0) {