Browse Source

NFS: Don't force a revalidation of all attributes if change is missing

Even if the change attribute is missing, it is still OK to mark the other
attributes as being up to date.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Trond Myklebust 7 years ago
parent
commit
8619ddd07b
1 changed files with 4 additions and 1 deletions
  1. 4 1
      fs/nfs/inode.c

+ 4 - 1
fs/nfs/inode.c

@@ -1813,7 +1813,10 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
 			inode_set_iversion_raw(inode, fattr->change_attr);
 			inode_set_iversion_raw(inode, fattr->change_attr);
 		}
 		}
 	} else {
 	} else {
-		nfsi->cache_validity |= save_cache_validity;
+		nfsi->cache_validity |= save_cache_validity &
+				(NFS_INO_INVALID_ATTR
+				| NFS_INO_REVAL_PAGECACHE
+				| NFS_INO_REVAL_FORCED);
 		cache_revalidated = false;
 		cache_revalidated = false;
 	}
 	}