From: Samuel Just Date: Fri, 7 Jan 2011 22:23:04 +0000 (-0800) Subject: ReplicatedPG: get_object_context ssc refcount leak X-Git-Tag: v0.24.1~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a64ddbb6869d7b71d18d4b3971def8e56ce76f8c;p=ceph.git ReplicatedPG: get_object_context ssc refcount leak If obc->obs.ssc is non-null, the second get_snapset_context ends up leaking a snapset reference. Signed-off-by: Samuel Just --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index ecf1677ba20..0245b918484 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -2339,7 +2339,7 @@ ReplicatedPG::ObjectContext *ReplicatedPG::get_object_context(const sobject_t& s obc = new ObjectContext(oi, true, ssc); } - if (can_create) + if (can_create && !obc->obs.ssc) obc->obs.ssc = get_snapset_context(soid.oid, true); if (r >= 0) {