mon/MonitorDBStore: use generic KeyValueDB::create()

Signed-off-by: Sage Weil <sage@inktank.com>
This commit is contained in:
Sage Weil 2014-03-31 18:04:35 -07:00 committed by Sage Weil
parent 86a0b9dd9a
commit a2a36192c2
2 changed files with 10 additions and 7 deletions

View File

@ -214,6 +214,7 @@ OPTION(mon_debug_dump_location, OPT_STR, "/var/log/ceph/$cluster-$name.tdump")
OPTION(mon_sync_provider_kill_at, OPT_INT, 0) // kill the sync provider at a specific point in the work flow
OPTION(mon_sync_requester_kill_at, OPT_INT, 0) // kill the sync requester at a specific point in the work flow
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

View File

@ -21,7 +21,6 @@
#include <boost/scoped_ptr.hpp>
#include <sstream>
#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<LevelDBStore> db;
boost::scoped_ptr<KeyValueDB> db;
bool do_dump;
int dump_fd;
@ -520,11 +519,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);
@ -540,7 +542,7 @@ class MonitorDBStore
}
}
}
MonitorDBStore(LevelDBStore *db_ptr) :
MonitorDBStore(KeyValueDB *db_ptr) :
db(0), do_dump(false), dump_fd(-1) {
db.reset(db_ptr);
}