summaryrefslogtreecommitdiffstats
path: root/fs/orangefs/dcache.c
diff options
context:
space:
mode:
authorMartin Brandenburg <martin@omnibond.com>2016-02-20 19:10:47 +0100
committerMike Marshall <hubcap@omnibond.com>2016-02-24 23:07:50 +0100
commitee70fca0bc9a4a85c239e4f08b7ebf8351d2a733 (patch)
tree7bf9c21310b700a78118fd8728ec8df747953697 /fs/orangefs/dcache.c
parentorangefs: free readdir buffer index before the dir_emit loop (diff)
downloadlinux-ee70fca0bc9a4a85c239e4f08b7ebf8351d2a733.tar.xz
linux-ee70fca0bc9a4a85c239e4f08b7ebf8351d2a733.zip
orangefs: don't d_drop in d_revalidate since the caller will
Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'fs/orangefs/dcache.c')
-rw-r--r--fs/orangefs/dcache.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/orangefs/dcache.c b/fs/orangefs/dcache.c
index a6911dbbf3e5..3c1703fbb60e 100644
--- a/fs/orangefs/dcache.c
+++ b/fs/orangefs/dcache.c
@@ -82,7 +82,6 @@ out_put_parent:
out_drop:
gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d revalidate failed\n",
__FILE__, __func__, __LINE__);
- d_drop(dentry);
goto out_release_op;
}
@@ -109,10 +108,8 @@ static int orangefs_d_revalidate(struct dentry *dentry, unsigned int flags)
* If this passes, the positive dentry still exists or the negative
* dentry still does not exist.
*/
- if (!orangefs_revalidate_lookup(dentry)) {
- d_drop(dentry);
+ if (!orangefs_revalidate_lookup(dentry))
return 0;
- }
/* We do not need to continue with negative dentries. */
if (!dentry->d_inode)
@@ -125,13 +122,10 @@ static int orangefs_d_revalidate(struct dentry *dentry, unsigned int flags)
if (ret < 0) {
gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d getattr failure.\n",
__FILE__, __func__, __LINE__);
- d_drop(dentry);
return 0;
}
- if (ret == 0) {
- d_drop(dentry);
+ if (ret == 0)
return 0;
- }
out:
gossip_debug(GOSSIP_DCACHE_DEBUG,