diff options
-rw-r--r-- | fs/nfs/inode.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index eda3da3f3a7b..31b0a52223a7 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -1827,7 +1827,11 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | |||
1827 | if ((long)fattr->gencount - (long)nfsi->attr_gencount > 0) | 1827 | if ((long)fattr->gencount - (long)nfsi->attr_gencount > 0) |
1828 | nfsi->attr_gencount = fattr->gencount; | 1828 | nfsi->attr_gencount = fattr->gencount; |
1829 | } | 1829 | } |
1830 | invalid &= ~NFS_INO_INVALID_ATTR; | 1830 | |
1831 | /* Don't declare attrcache up to date if there were no attrs! */ | ||
1832 | if (fattr->valid != 0) | ||
1833 | invalid &= ~NFS_INO_INVALID_ATTR; | ||
1834 | |||
1831 | /* Don't invalidate the data if we were to blame */ | 1835 | /* Don't invalidate the data if we were to blame */ |
1832 | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) | 1836 | if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) |
1833 | || S_ISLNK(inode->i_mode))) | 1837 | || S_ISLNK(inode->i_mode))) |