From 0dac747c79be4da80c2034b44337f5c2b546b3ff Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 5 Oct 2015 16:01:04 -0400 Subject: [PATCH] os/newstore: distinguish between db open and create Signed-off-by: Sage Weil --- src/os/newstore/NewStore.cc | 13 +++++++++---- src/os/newstore/NewStore.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/os/newstore/NewStore.cc b/src/os/newstore/NewStore.cc index 436dda799a2bf..e1b4d73ae167a 100644 --- a/src/os/newstore/NewStore.cc +++ b/src/os/newstore/NewStore.cc @@ -802,7 +802,7 @@ bool NewStore::test_mount_in_use() return ret; } -int NewStore::_open_db() +int NewStore::_open_db(bool create) { assert(!db); char fn[PATH_MAX]; @@ -821,7 +821,12 @@ int NewStore::_open_db() 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; @@ -928,7 +933,7 @@ int NewStore::mkfs() if (r < 0) goto out_close_fsid; - r = _open_db(); + r = _open_db(true); if (r < 0) goto out_close_frag; @@ -972,7 +977,7 @@ int NewStore::mount() // FIXME: superblock, features - r = _open_db(); + r = _open_db(false); if (r < 0) goto out_frag; diff --git a/src/os/newstore/NewStore.h b/src/os/newstore/NewStore.h index ae1eb9bc2b223..c32e2a9d45e2a 100644 --- a/src/os/newstore/NewStore.h +++ b/src/os/newstore/NewStore.h @@ -524,7 +524,7 @@ private: 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(); -- 2.39.5