From: Josh Durgin Date: Mon, 14 Mar 2011 23:54:55 +0000 (-0700) Subject: objecter: fix leak of bufferlist from MPoolOpReply X-Git-Tag: v0.26~132 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4ee75a881ec637e2b0c5b74b16b1e44ac710707c;p=ceph.git objecter: fix leak of bufferlist from MPoolOpReply bufferlist->claim already clears the source bufferlist, but setting it to NULL prevented it from being destroyed. Signed-off-by: Josh Durgin --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index d463825ec7e6..11ccce04d7b4 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1088,10 +1088,8 @@ void Objecter::handle_pool_op_reply(MPoolOpReply *m) if (pool_ops.count(tid)) { PoolOp *op = pool_ops[tid]; dout(10) << "have request " << tid << " at " << op << " Op: " << ceph_pool_op_name(op->pool_op) << dendl; - if (op->blp) { + if (op->blp) op->blp->claim(*m->response_data); - m->response_data = NULL; - } if (m->version > last_seen_osdmap_version) last_seen_osdmap_version = m->version; if (m->replyCode == 0 && osdmap->get_epoch() < m->epoch) {