From abe093b9a362966d562e96555730b5290544c8cc Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Mon, 24 Nov 2025 01:09:58 +0300 Subject: [PATCH] Reserve for max_entry_size, not for min_entry_size --- src/blockstore/blockstore_heap.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blockstore/blockstore_heap.cpp b/src/blockstore/blockstore_heap.cpp index c12aa666..65a301d4 100644 --- a/src/blockstore/blockstore_heap.cpp +++ b/src/blockstore/blockstore_heap.cpp @@ -411,7 +411,7 @@ int blockstore_heap_t::load_blocks(uint64_t disk_offset, uint64_t size, uint8_t modify_alloc(block_num, [&](heap_block_info_t & inf) { if (!inf.entries.size()) - inf.entries.reserve(dsk->meta_block_size / sizeof(heap_entry_t)); // FIXME maybe less + inf.entries.reserve(dsk->meta_block_size / max_entry_size); inf.entries.push_back(li); inf.used_space += wr->size; }); @@ -1202,7 +1202,7 @@ int blockstore_heap_t::add_entry(uint32_t wr_size, uint32_t *modified_block, auto new_wr = &li->entry; auto & inf = block_info.at(block_num); if (!inf.entries.size()) - inf.entries.reserve(dsk->meta_block_size / sizeof(heap_entry_t)); // FIXME Maybe less + inf.entries.reserve(dsk->meta_block_size / max_entry_size); inf.entries.push_back(li); assert(!inf.mod_lsn_to || inf.mod_lsn_to == next_lsn); new_wr->lsn = ++next_lsn;