From 66e1d9fccf41e572303595b80f3b85c60f8d3bf7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 28 Oct 2010 13:40:38 -0700 Subject: [PATCH] osd: fix unneeded get_object_context() (and leak) in _rollback_to All we want is the name of the head sobject_t, which is 'soid' in the parent frame. Signed-off-by: Sage Weil --- src/osd/ReplicatedPG.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 0891e7d222cb7..f9289b945377d 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1517,21 +1517,19 @@ void ReplicatedPG::_rollback_to(OpContext *ctx, ceph_osd_op& op) * 2) Clone correct snapshot into head * 3) Calculate clone_overlaps by following overlaps * forward from rollback snapshot */ - dout(10) << "_rollback_to deleting " << soid.oid - << " and rolling back to old snap" << dendl; - - sobject_t new_head = get_object_context(ctx->obs->oi.soid)->obs.oi.soid; + dout(10) << "_rollback_to deleting " << soid.oid + << " and rolling back to old snap" << dendl; _delete_head(ctx); ctx->obs->exists = true; //we're about to recreate it map attrs; t.clone(coll_t(info.pgid), - rollback_to_sobject, new_head); + rollback_to_sobject, soid); osd->store->getattrs(coll_t(info.pgid), rollback_to_sobject, attrs, false); osd->filter_xattrs(attrs); - t.setattrs(coll_t(info.pgid), new_head, attrs); + t.setattrs(coll_t(info.pgid), soid, attrs); ssc->snapset.head_exists = true; map >::iterator iter = -- 2.47.3