From 50a612e00dc351f45d3e4e45714b2b649c9775af Mon Sep 17 00:00:00 2001 From: Adam Kupczyk Date: Thu, 2 Jun 2022 16:53:01 +0000 Subject: [PATCH] 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) --- src/os/memstore/MemStore.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/memstore/MemStore.cc b/src/os/memstore/MemStore.cc index dc29ab1b6fd..bac863343f2 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(); } -- 2.47.3