From ee70fca0bc9a4a85c239e4f08b7ebf8351d2a733 Mon Sep 17 00:00:00 2001 From: Martin Brandenburg Date: Sat, 20 Feb 2016 13:10:47 -0500 Subject: orangefs: don't d_drop in d_revalidate since the caller will Signed-off-by: Martin Brandenburg Signed-off-by: Mike Marshall --- fs/orangefs/dcache.c | 10 ++-------- 1 file 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, -- cgit v1.2.3-58-ga151