]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_mon: no longer attempt store conversion on start
authorJoao Eduardo Luis <joao@redhat.com>
Thu, 15 Jan 2015 16:02:28 +0000 (16:02 +0000)
committerJoao Eduardo Luis <joao@redhat.com>
Thu, 15 Jan 2015 16:02:28 +0000 (16:02 +0000)
People upgrading from bobtail or previous clusters should first go
through an interim version (quite a few to pick from: cuttlefish,
dumpling, firefly, giant).

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
src/ceph_mon.cc

index 30ce2dfbca7d8a8c6e7c255ecef39977b5e18de9..415d5b7c511573dc8061efa91e50f791cc71fe7f 100644 (file)
@@ -510,40 +510,10 @@ int main(int argc, const char **argv)
   }
 
   MonitorDBStore *store = new MonitorDBStore(g_conf->mon_data);
-
-  Monitor::StoreConverter converter(g_conf->mon_data, store);
-  if (store->open(std::cerr) < 0) {
-    int needs_conversion = converter.needs_conversion();
-    if (needs_conversion < 0) {
-      if (needs_conversion == -ENOENT) {
-        derr << "monitor data directory at '" << g_conf->mon_data
-             << "' is not empty but has no valid store nor legacy monitor"
-             << " store." << dendl;
-      } else {
-        derr << "found errors while validating legacy unconverted"
-             << " monitor store: " << cpp_strerror(needs_conversion) << dendl;
-      }
-      prefork.exit(1);
-    }
-
-    int ret = store->create_and_open(std::cerr);
-    if (ret < 0) {
-      derr << "failed to create new leveldb store" << dendl;
-      prefork.exit(1);
-    }
-
-    if (needs_conversion > 0) {
-      dout(0) << "converting monitor store, please do not interrupt..." << dendl;
-      int r = converter.convert();
-      if (r) {
-       derr << "failed to convert monitor store: " << cpp_strerror(r) << dendl;
-       prefork.exit(1);
-      }
-    }
-  } else if (converter.is_converting()) {
-    derr << "there is an on-going (maybe aborted?) conversion." << dendl;
-    derr << "you should check what happened" << dendl;
-    derr << "remove store.db to restart conversion" << dendl;
+  err = store->open(std::cerr);
+  if (err < 0) {
+    derr << "error opening mon data directory at '"
+         << g_conf->mon_data << "': " << cpp_strerror(err) << dendl;
     prefork.exit(1);
   }