From: myoungwon oh Date: Wed, 22 Nov 2017 16:40:27 +0000 (+0900) Subject: osd: fix untracked ObjectContextRef X-Git-Tag: v13.0.1~59^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=09c03482ad75550d03e6eebde3475534ee0383f9;p=ceph.git osd: fix untracked ObjectContextRef referecnce leak occur if sub_cop has ObjectContextRef Signed-off-by: Myoungwon Oh --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index eb4e23bbc005..53efbc62f3c6 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -8378,7 +8378,8 @@ void PrimaryLogPG::_copy_some_manifest(ObjectContextRef obc, CopyOpRef cop, uint uint64_t length = manifest->chunk_map[iter->first].length; hobject_t soid = manifest->chunk_map[iter->first].oid; object_locator_t oloc(soid); - CopyOpRef sub_cop(std::make_shared(cop->cb, cop->obc, cop->src, oloc, + CopyCallback * cb = NULL; + CopyOpRef sub_cop(std::make_shared(cb, ObjectContextRef(), cop->src, oloc, cop->results.user_version, cop->flags, cop->mirror_snapset, cop->src_obj_fadvise_flags, cop->dest_obj_fadvise_flags)); sub_cop->cursor.data_offset = obj_offset;