summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2013-09-28 12:23:00 +0800
committerYan, Zheng <zheng.z.yan@intel.com>2013-10-05 11:31:12 +0800
commit488ddad7fe4fc8de6e94552f3a1b21c23c565b35 (patch)
treea2f75f00db1b706a4b3a190f509c32a7f8c89451
parent1d14d11a786fd3c2de0f102b621fc4d099a7d05f (diff)
downloadceph-488ddad7fe4fc8de6e94552f3a1b21c23c565b35.tar.gz
mds: fix bloom filter leaks
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
-rw-r--r--src/mds/CDir.cc4
-rw-r--r--src/mds/CDir.h1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc
index c478e4c4c01..6547b94b1d4 100644
--- a/src/mds/CDir.cc
+++ b/src/mds/CDir.cc
@@ -1414,7 +1414,7 @@ void CDir::_fetched(bufferlist &bl, const string& want_dn)
log_mark_dirty();
// mark complete, !fetching
- state_set(STATE_COMPLETE);
+ mark_complete();
state_clear(STATE_FETCHING);
auth_unpin(this);
@@ -1689,7 +1689,7 @@ void CDir::_fetched(bufferlist &bl, const string& want_dn)
log_mark_dirty();
// mark complete, !fetching
- state_set(STATE_COMPLETE);
+ mark_complete();
state_clear(STATE_FETCHING);
auth_unpin(this);
diff --git a/src/mds/CDir.h b/src/mds/CDir.h
index 86da4e5dfd3..f131d834ca0 100644
--- a/src/mds/CDir.h
+++ b/src/mds/CDir.h
@@ -286,6 +286,7 @@ protected:
public:
CDir(CInode *in, frag_t fg, MDCache *mdcache, bool auth);
~CDir() {
+ remove_bloom();
g_num_dir--;
g_num_dirs++;
}