diff options
author | Martin Brandenburg <martin@omnibond.com> | 2016-02-20 19:10:47 +0100 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-02-24 23:07:50 +0100 |
commit | ee70fca0bc9a4a85c239e4f08b7ebf8351d2a733 (patch) | |
tree | 7bf9c21310b700a78118fd8728ec8df747953697 /fs/orangefs/dcache.c | |
parent | orangefs: free readdir buffer index before the dir_emit loop (diff) | |
download | linux-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.c | 10 |
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, |