before this change, the `need_open_db` parameter is passed to the
constructor of BlueStore as `min_alloc_size`. and rocksdb will fail to
repair because Repairer::Run() also tries to acquire the db lock, and it
will fail to do so if the lock file is already acquired by
BlueStore::_mount().
Signed-off-by: Kefu Chai <kchai@redhat.com>
StoreTool(string type, const string &path, bool need_open_db=true) : store_path(path) {
if (type == "bluestore-kv") {
#ifdef WITH_BLUESTORE
- auto bluestore = new BlueStore(g_ceph_context, path, need_open_db);
+ auto bluestore = new BlueStore(g_ceph_context, path);
KeyValueDB *db_ptr;
- int r = bluestore->start_kv_only(&db_ptr);
+ int r = bluestore->start_kv_only(&db_ptr, need_open_db);
if (r < 0) {
exit(1);
}