OPTION(kstore_max_bytes, OPT_U64, 64*1024*1024)
OPTION(kstore_backend, OPT_STR, "rocksdb")
OPTION(kstore_rocksdb_options, OPT_STR, "compression=kNoCompression")
+ OPTION(kstore_rocksdb_bloom_bits_per_key, OPT_INT, 0)
OPTION(kstore_fsck_on_mount, OPT_BOOL, false)
+OPTION(kstore_fsck_on_mount_deep, OPT_BOOL, true)
OPTION(kstore_nid_prealloc, OPT_U64, 1024)
OPTION(kstore_sync_transaction, OPT_BOOL, false)
OPTION(kstore_sync_submit_transaction, OPT_BOOL, false)
}
auto cache = rocksdb::NewLRUCache(g_conf->rocksdb_cache_size, g_conf->rocksdb_cache_shard_bits);
- rocksdb::BlockBasedTableOptions bbt_opts;
bbt_opts.block_size = g_conf->rocksdb_block_size;
bbt_opts.block_cache = cache;
+ if (g_conf->kstore_rocksdb_bloom_bits_per_key > 0) {
+ dout(10) << __func__ << " set bloom filter bits per key to "
+ << g_conf->kstore_rocksdb_bloom_bits_per_key << dendl;
+ bbt_opts.filter_policy.reset(rocksdb::NewBloomFilterPolicy(g_conf->kstore_rocksdb_bloom_bits_per_key));
+ }
opt.table_factory.reset(rocksdb::NewBlockBasedTableFactory(bbt_opts));
dout(10) << __func__ << " set block size to " << g_conf->rocksdb_block_size
<< " cache size to " << g_conf->rocksdb_cache_size