From: Adam Kupczyk Date: Thu, 2 Jun 2022 16:53:01 +0000 (+0000) Subject: os/memstore: Fix memory leak X-Git-Tag: v16.2.13~62^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=50a612e00dc351f45d3e4e45714b2b649c9775af;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 dc29ab1b6fde..bac863343f20 100644 --- a/src/os/memstore/MemStore.cc +++ b/src/os/memstore/MemStore.cc @@ -1796,5 +1796,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(); }