]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/MgrStandby: do not ignore result of init() of monc
authorxie xingguo <xie.xingguo@zte.com.cn>
Sun, 9 Oct 2016 02:21:20 +0000 (10:21 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Mon, 17 Oct 2016 13:00:08 +0000 (21:00 +0800)
Which can fail due to missing keyring.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/mgr/MgrStandby.cc

index f555f791f10290aa755b966b37b19b42b6a5cae3..0beb8937d76ca3a13992f20dce6af5e5c338bfb2 100644 (file)
@@ -73,8 +73,14 @@ int MgrStandby::init()
   monc->set_want_keys(CEPH_ENTITY_TYPE_MON|CEPH_ENTITY_TYPE_OSD
       |CEPH_ENTITY_TYPE_MDS|CEPH_ENTITY_TYPE_MGR);
   monc->set_messenger(client_messenger);
-  monc->init();
-  int r = monc->authenticate();
+  int r = monc->init();
+  if (r < 0) {
+    monc->shutdown();
+    client_messenger->shutdown();
+    client_messenger->wait();
+    return r;
+  }
+  r = monc->authenticate();
   if (r < 0) {
     derr << "Authentication failed, did you specify a mgr ID with a valid keyring?" << dendl;
     monc->shutdown();