summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-09-24 13:48:43 -0700
committerSage Weil <sage@inktank.com>2013-09-24 13:48:43 -0700
commit1d67e1521c2902b9426579cd2c7a6c4997700984 (patch)
treecd2effe46cb334ab3274ed046553f7d3ef0fcbe0
parentb0fee96078bf5e09336a0b2386b26af2c3788a4e (diff)
downloadceph-1d67e1521c2902b9426579cd2c7a6c4997700984.tar.gz
osd/ReplicatedPG: fix leak of RepGather on large-object COPY_FROM
new_repop() gives us a ref; we need to release it, just as we do in execute_ctx(). 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 a48372fe561..3185dde775b 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -4260,6 +4260,7 @@ void ReplicatedPG::process_copy_chunk(hobject_t oid, tid_t tid, int r)
issue_repop(repop, repop->ctx->mtime);
eval_repop(repop);
+ repop->put();
dout(10) << __func__ << " fetching more" << dendl;
_copy_some(ctx, cop);