diff options
author | Martin Brandenburg <martin@omnibond.com> | 2016-02-20 13:10:47 -0500 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-02-24 17:07:50 -0500 |
commit | ee70fca0bc9a4a85c239e4f08b7ebf8351d2a733 (patch) | |
tree | 7bf9c21310b700a78118fd8728ec8df747953697 /fs/orangefs | |
parent | ee3b8d377ca014b0ec4ea8988ba6fbe8463bd8d9 (diff) |
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')
-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: | |||
82 | out_drop: | 82 | out_drop: |
83 | gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d revalidate failed\n", | 83 | gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d revalidate failed\n", |
84 | __FILE__, __func__, __LINE__); | 84 | __FILE__, __func__, __LINE__); |
85 | d_drop(dentry); | ||
86 | goto out_release_op; | 85 | goto out_release_op; |
87 | } | 86 | } |
88 | 87 | ||
@@ -109,10 +108,8 @@ static int orangefs_d_revalidate(struct dentry *dentry, unsigned int flags) | |||
109 | * If this passes, the positive dentry still exists or the negative | 108 | * If this passes, the positive dentry still exists or the negative |
110 | * dentry still does not exist. | 109 | * dentry still does not exist. |
111 | */ | 110 | */ |
112 | if (!orangefs_revalidate_lookup(dentry)) { | 111 | if (!orangefs_revalidate_lookup(dentry)) |
113 | d_drop(dentry); | ||
114 | return 0; | 112 | return 0; |
115 | } | ||
116 | 113 | ||
117 | /* We do not need to continue with negative dentries. */ | 114 | /* We do not need to continue with negative dentries. */ |
118 | if (!dentry->d_inode) | 115 | if (!dentry->d_inode) |
@@ -125,13 +122,10 @@ static int orangefs_d_revalidate(struct dentry *dentry, unsigned int flags) | |||
125 | if (ret < 0) { | 122 | if (ret < 0) { |
126 | gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d getattr failure.\n", | 123 | gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d getattr failure.\n", |
127 | __FILE__, __func__, __LINE__); | 124 | __FILE__, __func__, __LINE__); |
128 | d_drop(dentry); | ||
129 | return 0; | 125 | return 0; |
130 | } | 126 | } |
131 | if (ret == 0) { | 127 | if (ret == 0) |
132 | d_drop(dentry); | ||
133 | return 0; | 128 | return 0; |
134 | } | ||
135 | 129 | ||
136 | out: | 130 | out: |
137 | gossip_debug(GOSSIP_DCACHE_DEBUG, | 131 | gossip_debug(GOSSIP_DCACHE_DEBUG, |