From 5a0a0e736b2ec829f24ab02004d2296f2b81974d Mon Sep 17 00:00:00 2001 From: Menyhart Zoltan Date: Sun, 12 Sep 2010 19:55:26 -0400 Subject: [PATCH] --- yaml --- r: 210672 b: refs/heads/master c: fbf3fdd2443965d9ba6fb4b5fecd1f6e0847218f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/nfs/super.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b487f6a15a9b..830fdaefb2d0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b20d37ca9561711c6a3c4b859c2855f49565e061 +refs/heads/master: fbf3fdd2443965d9ba6fb4b5fecd1f6e0847218f diff --git a/trunk/fs/nfs/super.c b/trunk/fs/nfs/super.c index ec3966e4706b..f4cbf0c306c6 100644 --- a/trunk/fs/nfs/super.c +++ b/trunk/fs/nfs/super.c @@ -431,7 +431,15 @@ static int nfs_statfs(struct dentry *dentry, struct kstatfs *buf) goto out_err; error = server->nfs_client->rpc_ops->statfs(server, fh, &res); + if (unlikely(error == -ESTALE)) { + struct dentry *pd_dentry; + pd_dentry = dget_parent(dentry); + if (pd_dentry != NULL) { + nfs_zap_caches(pd_dentry->d_inode); + dput(pd_dentry); + } + } nfs_free_fattr(res.fattr); if (error < 0) goto out_err;