paddr_t end;
size_t block_size = 0;
size_t total_size = 0;
- uint32_t blocks_per_segment = 1 << 18;
device_id_t device_id = 0;
seastore_meta_t meta;
};
virtual size_t get_size() const = 0;
virtual size_t get_block_size() const = 0;
virtual uint64_t get_free_blocks() const = 0;
- virtual uint32_t get_blocks_per_segment() const = 0;
virtual device_id_t get_device_id() const = 0;
virtual ~RandomBlockManager() {}
};
super.start_alloc_area + super.alloc_area_size;
super.crc = 0;
super.feature |= RBM_BITMAP_BLOCK_CRC;
- super.blocks_per_segment = config.blocks_per_segment;
super.device_id = config.device_id;
logger().debug(" super {} ", super);
uint32_t start_data_area;
uint64_t flag; // reserved
uint64_t feature;
- uint32_t blocks_per_segment; // the number of blocks in segment
device_id_t device_id;
checksum_t crc;
denc(v.start_data_area, p);
denc(v.flag, p);
denc(v.feature, p);
- denc(v.blocks_per_segment, p);
denc(v.device_id, p);
denc(v.crc, p);
void add_free_extent(
std::vector<rbm_alloc_delta_t>& v, rbm_abs_addr from, size_t len);
- uint32_t get_blocks_per_segment() const final {
- return super.blocks_per_segment;
- }
device_id_t get_device_id() const final {
return super.device_id;
}