OPTION(bluestore_onode_map_size, OPT_U32, 1024) // onodes per collection
OPTION(bluestore_cache_tails, OPT_BOOL, true) // cache tail blocks in Onode
OPTION(bluestore_kvbackend, OPT_STR, "rocksdb")
+OPTION(bluestore_allocator, OPT_STR, "stupid") // or "bitmap"
OPTION(bluestore_freelist_type, OPT_STR, "bitmap")
OPTION(bluestore_freelist_blocks_per_key, OPT_INT, 128)
OPTION(bluestore_rocksdb_options, OPT_STR, "compression=kNoCompression,max_write_buffer_number=16,min_write_buffer_number_to_merge=3,recycle_log_file_num=16")
for (unsigned id = 0; id < bdev.size(); ++id) {
if (!bdev[id])
continue;
- alloc[id] = Allocator::create("stupid");
+ alloc[id] = Allocator::create(g_conf->bluestore_allocator);
interval_set<uint64_t>& p = block_all[id];
for (interval_set<uint64_t>::iterator q = p.begin(); q != p.end(); ++q) {
alloc[id]->init_add_free(q.get_start(), q.get_len());
int BlueStore::_open_alloc()
{
assert(alloc == NULL);
- alloc = Allocator::create("stupid");
+ alloc = Allocator::create(g_conf->bluestore_allocator);
uint64_t num = 0, bytes = 0;
fm->enumerate_reset();
uint64_t offset, length;