]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: get_object_context ssc refcount leak
authorSamuel Just <samuelj@hq.newdream.net>
Fri, 7 Jan 2011 22:23:04 +0000 (14:23 -0800)
committerSamuel Just <samuelj@hq.newdream.net>
Fri, 7 Jan 2011 22:25:03 +0000 (14:25 -0800)
If obc->obs.ssc is non-null, the second get_snapset_context ends up
leaking a snapset reference.

Signed-off-by: Samuel Just <samuelj@hq.newdream.net>
src/osd/ReplicatedPG.cc

index ecf1677ba204c88ebad57817b7a35abb66be0b6b..0245b91848410f13877eea36b3fb4acac465189d 100644 (file)
@@ -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) {