diff options
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r-- | fs/nfs/inode.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index e37faa3a7ba..185cfd09d7f 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) { |