diff --git a/[refs] b/[refs] index f4ecbb3230d2..dee6eaa95a85 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1f4eab7e7c1d90dcd8ca4d7c064ee78dfbb345eb +refs/heads/master: 83672d392f7bcf556f7920d6715e4174d9373ee0 diff --git a/trunk/fs/nfs/dir.c b/trunk/fs/nfs/dir.c index d971547ce609..e59fd31c9a22 100644 --- a/trunk/fs/nfs/dir.c +++ b/trunk/fs/nfs/dir.c @@ -865,6 +865,10 @@ static int nfs_dentry_delete(struct dentry *dentry) static void nfs_dentry_iput(struct dentry *dentry, struct inode *inode) { nfs_inode_return_delegation(inode); + if (S_ISDIR(inode->i_mode)) + /* drop any readdir cache as it could easily be old */ + NFS_I(inode)->cache_validity |= NFS_INO_INVALID_DATA; + if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { lock_kernel(); drop_nlink(inode);