Remove block_order parameter

This commit is contained in:
Vitaliy Filippov
2025-12-02 01:52:12 +03:00
parent dcbdb0ae33
commit aa1e62a502
3 changed files with 7 additions and 8 deletions
+1 -1
View File
@@ -118,7 +118,7 @@ void blockstore_disk_t::parse_config(std::map<std::string, std::string> & config
{
data_block_size = (1 << DEFAULT_DATA_BLOCK_ORDER);
}
if ((block_order = is_power_of_two(data_block_size)) >= 64 || data_block_size < MIN_DATA_BLOCK_SIZE || data_block_size >= MAX_DATA_BLOCK_SIZE)
if (is_power_of_two(data_block_size) >= 64 || data_block_size < MIN_DATA_BLOCK_SIZE || data_block_size >= MAX_DATA_BLOCK_SIZE)
{
throw std::runtime_error("Bad block size");
}
-1
View File
@@ -65,7 +65,6 @@ struct blockstore_disk_t
uint64_t data_offset, data_device_sect, data_device_size, data_len;
uint64_t journal_offset, journal_device_sect, journal_device_size, journal_len;
uint32_t block_order = 0;
uint64_t block_count = 0;
uint32_t clean_entry_bitmap_size = 0;
uint32_t clean_entry_size = 0, clean_dyn_size = 0; // for meta_v1/2
+6 -6
View File
@@ -1682,8 +1682,8 @@ void blockstore_heap_t::deref_data(uint64_t inode, uint64_t location, bool free_
}
if (ref_it == mvcc_data_refs.end() && free_at_0)
{
assert(data_alloc->get(location >> dsk->block_order));
data_alloc->set(location >> dsk->block_order, false);
assert(data_alloc->get(location / dsk->data_block_size));
data_alloc->set(location / dsk->data_block_size, false);
auto & space = inode_space_stats[inode];
assert(space >= dsk->data_block_size);
space -= dsk->data_block_size;
@@ -1895,20 +1895,20 @@ uint64_t blockstore_heap_t::find_free_data()
uint64_t loc = data_alloc->find_free();
if (loc != UINT64_MAX)
{
loc = loc << dsk->block_order;
loc = loc * dsk->data_block_size;
}
return loc;
}
bool blockstore_heap_t::is_data_used(uint64_t location)
{
return data_alloc->get(location >> dsk->block_order);
return data_alloc->get(location / dsk->data_block_size);
}
void blockstore_heap_t::use_data(inode_t inode, uint64_t location)
{
assert(!data_alloc->get(location >> dsk->block_order));
data_alloc->set(location >> dsk->block_order, true);
assert(!data_alloc->get(location / dsk->data_block_size));
data_alloc->set(location / dsk->data_block_size, true);
inode_space_stats[inode] += dsk->data_block_size;
data_used_space += dsk->data_block_size;
}