Signed-off-by: Sage Weil <sage@redhat.com>
return ret;
}
-int NewStore::_open_db()
+int NewStore::_open_db(bool create)
{
assert(!db);
char fn[PATH_MAX];
options = g_conf->newstore_rocksdb_options;
db->init(options);
stringstream err;
- if (db->create_and_open(err)) {
+ int r;
+ if (create)
+ r = db->create_and_open(err);
+ else
+ r = db->open(err);
+ if (r) {
derr << __func__ << " erroring opening db: " << err.str() << dendl;
delete db;
db = NULL;
if (r < 0)
goto out_close_fsid;
- r = _open_db();
+ r = _open_db(true);
if (r < 0)
goto out_close_frag;
// FIXME: superblock, features
- r = _open_db();
+ r = _open_db(false);
if (r < 0)
goto out_frag;
int _open_frag();
int _create_frag();
void _close_frag();
- int _open_db();
+ int _open_db(bool create);
void _close_db();
int _open_collections();
void _close_collections();