]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/mon/MonitorDBStore.h
update sources to v12.1.0
[ceph.git] / ceph / src / mon / MonitorDBStore.h
index e6732384c206613d48f31a4bb82677f2b93e7a68..707d635af557a01a91c4a5f694797e9d9f7dd017 100644 (file)
@@ -629,9 +629,13 @@ class MonitorDBStore
   int open(ostream &out) {
     string kv_type;
     int r = read_meta("kv_backend", &kv_type);
-    if (r < 0 || kv_type.length() == 0)
+    if (r < 0 || kv_type.empty()) {
+      // assume old monitors that did not mark the type were leveldb.
       kv_type = "leveldb";
-
+      r = write_meta("kv_backend", kv_type);
+      if (r < 0)
+       return r;
+    }
     _open(kv_type);
     r = db->open(out);
     if (r < 0)
@@ -646,8 +650,7 @@ class MonitorDBStore
     string kv_type;
     int r = read_meta("kv_backend", &kv_type);
     if (r < 0) {
-      // assume old monitors that did not mark the type were leveldb.
-      kv_type = "leveldb";
+      kv_type = g_conf->mon_keyvaluedb;
       r = write_meta("kv_backend", kv_type);
       if (r < 0)
        return r;