From: Adam Kupczyk Date: Thu, 2 Jun 2022 16:53:01 +0000 (+0000) Subject: os/memstore: Fix memory leak X-Git-Tag: v17.2.6~104^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=76609f0ed23fa28ce01c2143c3b0bf3f10c9a7f5;p=ceph.git os/memstore: Fix memory leak There was a permanent memory leak, objects were never deleted. ObjectRef x(new Bufferlist()) created RefCountedObject with nref=2 (one for new, one for ref). ObjectRef x = make_ref() just makes one. Signed-off-by: Adam Kupczyk (cherry picked from commit 5ae5b73e76bf28edff3bf32c7805224b31c4772b) --- diff --git a/src/os/memstore/MemStore.cc b/src/os/memstore/MemStore.cc index 5609db360c7..e0a607270d1 100644 --- a/src/os/memstore/MemStore.cc +++ b/src/os/memstore/MemStore.cc @@ -1820,5 +1820,5 @@ int MemStore::PageSetObject::truncate(uint64_t size) MemStore::ObjectRef MemStore::Collection::create_object() const { if (use_page_set) return ceph::make_ref(cct->_conf->memstore_page_size); - return new BufferlistObject(); + return make_ref(); }