From 239e095275500e82cfe143db83f79a9b84c2014a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 31 Mar 2014 18:04:35 -0700 Subject: [PATCH] mon/MonitorDBStore: use generic KeyValueDB::create() Signed-off-by: Sage Weil (cherry picked from commit a2a36192c28e4961b92c576172185a915daef366) --- src/common/config_opts.h | 1 + src/mon/MonitorDBStore.h | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/common/config_opts.h b/src/common/config_opts.h index f8dd5f0..bb6e1f3 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -221,6 +221,7 @@ OPTION(mon_leveldb_paranoid, OPT_BOOL, false) // monitor's leveldb paranoid fl OPTION(mon_leveldb_log, OPT_STR, "") OPTION(mon_leveldb_size_warn, OPT_U64, 40*1024*1024*1024) // issue a warning when the monitor's leveldb goes over 40GB (in bytes) OPTION(mon_force_quorum_join, OPT_BOOL, false) // force monitor to join quorum even if it has been previously removed from the map +OPTION(mon_keyvaluedb, OPT_STR, "leveldb") // type of keyvaluedb backend OPTION(paxos_stash_full_interval, OPT_INT, 25) // how often (in commits) to stash a full copy of the PaxosService state OPTION(paxos_max_join_drift, OPT_INT, 10) // max paxos iterations before we must first sync the monitor stores OPTION(paxos_propose_interval, OPT_DOUBLE, 1.0) // gather updates for this long before proposing a map update diff --git a/src/mon/MonitorDBStore.h b/src/mon/MonitorDBStore.h index 741d6ec..1ee3070 100644 --- a/src/mon/MonitorDBStore.h +++ b/src/mon/MonitorDBStore.h @@ -21,7 +21,6 @@ #include #include #include "os/KeyValueDB.h" -#include "os/LevelDBStore.h" #include "include/assert.h" #include "common/Formatter.h" @@ -29,7 +28,7 @@ class MonitorDBStore { - boost::scoped_ptr db; + boost::scoped_ptr db; bool do_dump; int dump_fd; @@ -522,11 +521,14 @@ class MonitorDBStore os << path.substr(0, path.size() - pos) << "/store.db"; string full_path = os.str(); - LevelDBStore *db_ptr = new LevelDBStore(g_ceph_context, full_path); + KeyValueDB *db_ptr = KeyValueDB::create(g_ceph_context, + g_conf->mon_keyvaluedb, + full_path); if (!db_ptr) { - derr << __func__ << " error initializing level db back storage in " - << full_path << dendl; - assert(0 != "MonitorDBStore: error initializing level db back storage"); + derr << __func__ << " error initializing " + << g_conf->mon_keyvaluedb << " db back storage in " + << full_path << dendl; + assert(0 != "MonitorDBStore: error initializing keyvaluedb back storage"); } db.reset(db_ptr); @@ -542,7 +544,7 @@ class MonitorDBStore } } } - MonitorDBStore(LevelDBStore *db_ptr) : + MonitorDBStore(KeyValueDB *db_ptr) : db(0), do_dump(false), dump_fd(-1) { db.reset(db_ptr); } -- 1.9.3