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); 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"); 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 data_offset, data_device_sect, data_device_size, data_len;
uint64_t journal_offset, journal_device_sect, journal_device_size, journal_len; uint64_t journal_offset, journal_device_sect, journal_device_size, journal_len;
uint32_t block_order = 0;
uint64_t block_count = 0; uint64_t block_count = 0;
uint32_t clean_entry_bitmap_size = 0; uint32_t clean_entry_bitmap_size = 0;
uint32_t clean_entry_size = 0, clean_dyn_size = 0; // for meta_v1/2 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) if (ref_it == mvcc_data_refs.end() && free_at_0)
{ {
assert(data_alloc->get(location >> dsk->block_order)); assert(data_alloc->get(location / dsk->data_block_size));
data_alloc->set(location >> dsk->block_order, false); data_alloc->set(location / dsk->data_block_size, false);
auto & space = inode_space_stats[inode]; auto & space = inode_space_stats[inode];
assert(space >= dsk->data_block_size); assert(space >= dsk->data_block_size);
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(); uint64_t loc = data_alloc->find_free();
if (loc != UINT64_MAX) if (loc != UINT64_MAX)
{ {
loc = loc << dsk->block_order; loc = loc * dsk->data_block_size;
} }
return loc; return loc;
} }
bool blockstore_heap_t::is_data_used(uint64_t location) 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) void blockstore_heap_t::use_data(inode_t inode, uint64_t location)
{ {
assert(!data_alloc->get(location >> dsk->block_order)); assert(!data_alloc->get(location / dsk->data_block_size));
data_alloc->set(location >> dsk->block_order, true); data_alloc->set(location / dsk->data_block_size, true);
inode_space_stats[inode] += dsk->data_block_size; inode_space_stats[inode] += dsk->data_block_size;
data_used_space += dsk->data_block_size; data_used_space += dsk->data_block_size;
} }