summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-09-24 13:49:59 -0700
committerSage Weil <sage@inktank.com>2013-09-24 13:49:59 -0700
commit1c12eefcb5ca9fa6204d9a6f514829d539502d94 (patch)
tree8010c4f97dcd535f86f0f3674923cbe698429529
parent1d67e1521c2902b9426579cd2c7a6c4997700984 (diff)
downloadceph-1c12eefcb5ca9fa6204d9a6f514829d539502d94.tar.gz
osd/ReplicatedPG: fix leak of RepGather on watch timeout
new_repop() gives us a ref; we need to release it, just as we do in execute_ctx(). Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/ReplicatedPG.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index 3185dde775b..5cd5f538dbe 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -4980,6 +4980,7 @@ void ReplicatedPG::handle_watch_timeout(WatchRef watch)
// obc ref swallowed by repop!
issue_repop(repop, repop->ctx->mtime);
eval_repop(repop);
+ repop->put();
}
ObjectContextRef ReplicatedPG::create_object_context(const object_info_t& oi,