diff options
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r-- | fs/nfs/dir.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index d971547ce609..e59fd31c9a22 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -865,6 +865,10 @@ static int nfs_dentry_delete(struct dentry *dentry) | |||
865 | static void nfs_dentry_iput(struct dentry *dentry, struct inode *inode) | 865 | static void nfs_dentry_iput(struct dentry *dentry, struct inode *inode) |
866 | { | 866 | { |
867 | nfs_inode_return_delegation(inode); | 867 | nfs_inode_return_delegation(inode); |
868 | if (S_ISDIR(inode->i_mode)) | ||
869 | /* drop any readdir cache as it could easily be old */ | ||
870 | NFS_I(inode)->cache_validity |= NFS_INO_INVALID_DATA; | ||
871 | |||
868 | if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { | 872 | if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { |
869 | lock_kernel(); | 873 | lock_kernel(); |
870 | drop_nlink(inode); | 874 | drop_nlink(inode); |