From: Sage Weil Date: Mon, 5 Oct 2015 20:01:04 +0000 (-0400) Subject: os/newstore: distinguish between db open and create X-Git-Tag: v10.0.1~39^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0dac747c79be4da80c2034b44337f5c2b546b3ff;p=ceph.git os/newstore: distinguish between db open and create Signed-off-by: Sage Weil --- diff --git a/src/os/newstore/NewStore.cc b/src/os/newstore/NewStore.cc index 436dda799a2b..e1b4d73ae167 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 ae1eb9bc2b22..c32e2a9d45e2 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();