diff options
| author | Daniel Rosenberg <drosen@google.com> | 2017-04-24 19:49:02 -0700 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-04-27 12:33:21 +0200 |
| commit | 6a9145c0d13ee4cf080ac73a377ae78d9de0a66f (patch) | |
| tree | 27ade0ff2c35b0b39c5031bf0a70085bbeb4bc7c /fs/sdcardfs | |
| parent | 2cba78f1f68b8a486348cb49a620cd8c73804874 (diff) | |
ANDROID: sdcardfs: Call lower fs's revalidate
We should be calling the lower filesystem's revalidate
inside of sdcardfs's revalidate, as wrapfs does.
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Bug: 35766959
Change-Id: I939d1c4192fafc1e21678aeab43fe3d588b8e2f4
Diffstat (limited to 'fs/sdcardfs')
| -rwxr-xr-x | fs/sdcardfs/dentry.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/sdcardfs/dentry.c b/fs/sdcardfs/dentry.c index f58ba5908..d2775f020 100755 --- a/fs/sdcardfs/dentry.c +++ b/fs/sdcardfs/dentry.c @@ -60,6 +60,14 @@ static int sdcardfs_d_revalidate(struct dentry *dentry, unsigned int flags) lower_dentry = lower_path.dentry; lower_cur_parent_dentry = dget_parent(lower_dentry); + if ((lower_dentry->d_flags & DCACHE_OP_REVALIDATE)) { + err = lower_dentry->d_op->d_revalidate(lower_dentry, flags); + if (err == 0) { + d_drop(dentry); + goto out; + } + } + spin_lock(&lower_dentry->d_lock); if (d_unhashed(lower_dentry)) { spin_unlock(&lower_dentry->d_lock); |
