aboutsummaryrefslogtreecommitdiff
path: root/fs/nfs/inode.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2016-02-05 19:31:48 +0000
committerMark Brown <broonie@kernel.org>2016-02-05 19:31:48 +0000
commit130faf3765d29c961be74f7245eb504a414a68e2 (patch)
treedf25d9b427876e1b95a3ff8e9f38dddcfce26610 /fs/nfs/inode.c
parentf90ae1b62bedd8b57966a7be68855f2d43170db6 (diff)
parent707e840c5e24bb2df1ea4e753964275e257ec816 (diff)
Merge tag 'v3.18.26' into linux-linaro-lsk-v3.18lsk-v3.18-16.02
Linux 3.18.26 # gpg: Signature made Mon 25 Jan 2016 15:06:44 GMT using RSA key ID 97772CDC # gpg: requesting key 97772CDC from hkp server the.earth.li # gpg: key 97772CDC: public key "Sasha Levin <sasha.levin@oracle.com>" imported # gpg: no ultimately trusted keys found # gpg: Total number processed: 1 # gpg: imported: 1 (RSA: 1) # gpg: Good signature from "Sasha Levin <sasha.levin@oracle.com>" # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: E27E 5D8A 3403 A2EF 6687 3BBC DEA6 6FF7 9777 2CDC
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r--fs/nfs/inode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index 00689a8a85e4..d7cfc6e42b5e 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -1717,7 +1717,11 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
nfsi->attrtimeo_timestamp = now;
}
}
- invalid &= ~NFS_INO_INVALID_ATTR;
+
+ /* Don't declare attrcache up to date if there were no attrs! */
+ if (fattr->valid != 0)
+ invalid &= ~NFS_INO_INVALID_ATTR;
+
/* Don't invalidate the data if we were to blame */
if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)
|| S_ISLNK(inode->i_mode)))