]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-osd: mkkey before mkfs
authorSage Weil <sage@redhat.com>
Wed, 11 Oct 2017 21:17:09 +0000 (16:17 -0500)
committerSage Weil <sage@redhat.com>
Thu, 19 Oct 2017 13:21:38 +0000 (08:21 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 75400ead3061ba1e2820878783fe7b1ddcd9a5fb)

src/ceph_osd.cc

index d7e54a3a3faf5d8938d9444c4ee89c74bbe5a6f3..1cfda9c1ddf35d71b79490ff954cce94b7f235d8 100644 (file)
@@ -266,29 +266,6 @@ int main(int argc, const char **argv)
   cephd_preload_embedded_plugins();
 #endif
 
-  if (mkfs) {
-    common_init_finish(g_ceph_context);
-    MonClient mc(g_ceph_context);
-    if (mc.build_initial_monmap() < 0)
-      return -1;
-    if (mc.get_monmap_privately() < 0)
-      return -1;
-
-    if (mc.monmap.fsid.is_zero()) {
-      derr << "must specify cluster fsid" << dendl;
-      return -EINVAL;
-    }
-
-    int err = OSD::mkfs(g_ceph_context, store, g_conf->osd_data,
-                       mc.monmap.fsid, whoami);
-    if (err < 0) {
-      derr << TEXT_RED << " ** ERROR: error creating empty object store in "
-          << g_conf->osd_data << ": " << cpp_strerror(-err) << TEXT_NORMAL << dendl;
-      exit(1);
-    }
-    derr << "created object store " << g_conf->osd_data
-        << " for osd." << whoami << " fsid " << mc.monmap.fsid << dendl;
-  }
   if (mkkey) {
     common_init_finish(g_ceph_context);
     KeyRing *keyring = KeyRing::create_empty();
@@ -317,6 +294,29 @@ int main(int argc, const char **argv)
        derr << "created new key in keyring " << g_conf->keyring << dendl;
     }
   }
+  if (mkfs) {
+    common_init_finish(g_ceph_context);
+    MonClient mc(g_ceph_context);
+    if (mc.build_initial_monmap() < 0)
+      return -1;
+    if (mc.get_monmap_privately() < 0)
+      return -1;
+
+    if (mc.monmap.fsid.is_zero()) {
+      derr << "must specify cluster fsid" << dendl;
+      return -EINVAL;
+    }
+
+    int err = OSD::mkfs(g_ceph_context, store, g_conf->osd_data,
+                       mc.monmap.fsid, whoami);
+    if (err < 0) {
+      derr << TEXT_RED << " ** ERROR: error creating empty object store in "
+          << g_conf->osd_data << ": " << cpp_strerror(-err) << TEXT_NORMAL << dendl;
+      exit(1);
+    }
+    derr << "created object store " << g_conf->osd_data
+        << " for osd." << whoami << " fsid " << mc.monmap.fsid << dendl;
+  }
   if (mkfs || mkkey)
     exit(0);
   if (mkjournal) {