diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-09-29 17:15:01 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-09 17:19:20 -0400 |
commit | 4b841736bc16b320bcdb1e8ece585b3ced9a8811 (patch) | |
tree | c79e4c99393b8ebfd54617f0ffa791dacc443cb5 /include/linux/nfs_fs.h | |
parent | 8edb01828837302055a8f0afddb2256659480bc5 (diff) | |
download | linux-4b841736bc16b320bcdb1e8ece585b3ced9a8811.tar.gz linux-4b841736bc16b320bcdb1e8ece585b3ced9a8811.tar.bz2 linux-4b841736bc16b320bcdb1e8ece585b3ced9a8811.zip |
NFS: Fix nfs_verify_change_attribute()
We don't care about whether or not some other process on our client is
changing the directory while we're in nfs_lookup_revalidate(), because the
dcache will take care of ensuring local atomicity.
We can therefore remove the test for nfs_caches_unstable().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r-- | include/linux/nfs_fs.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index a765dd456922..0197b1243fe0 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h @@ -270,16 +270,16 @@ static inline unsigned long nfs_save_change_attribute(struct inode *dir) } /** - * nfs_verify_change_attribute - Detects NFS inode cache updates - * @inode - pointer to inode + * nfs_verify_change_attribute - Detects NFS remote directory changes + * @dir - pointer to parent directory inode * @chattr - previously saved change attribute - * Return "false" if metadata has been updated (or is in the process of - * being updated) since the change attribute was saved. + * Return "false" if the verifiers doesn't match the change attribute. + * This would usually indicate that the directory contents have changed on + * the server, and that any dentries need revalidating. */ -static inline int nfs_verify_change_attribute(struct inode *inode, unsigned long chattr) +static inline int nfs_verify_change_attribute(struct inode *dir, unsigned long chattr) { - return !nfs_caches_unstable(inode) - && chattr == NFS_I(inode)->cache_change_attribute; + return chattr == NFS_I(dir)->cache_change_attribute; } /* |