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<Bufferlist>() just makes one.
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit
5ae5b73e76bf28edff3bf32c7805224b31c4772b)
MemStore::ObjectRef MemStore::Collection::create_object() const {
if (use_page_set)
return ceph::make_ref<PageSetObject>(cct->_conf->memstore_page_size);
- return new BufferlistObject();
+ return make_ref<BufferlistObject>();
}