]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: do not assume we have an osdmap in prepare_to_stop
authorSage Weil <sage@inktank.com>
Sat, 20 Jul 2013 15:11:43 +0000 (08:11 -0700)
committerSage Weil <sage@inktank.com>
Sat, 20 Jul 2013 15:11:43 +0000 (08:11 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc

index 1ee4c09a63e1f71fd9ccd7922e2277daf85abe88..695dff240a41a48fc9751bfa580019e6d0ed2e87 100644 (file)
@@ -4730,11 +4730,12 @@ bool OSDService::prepare_to_stop()
   if (state != NOT_STOPPING)
     return false;
 
-  if (get_osdmap()->is_up(whoami)) {
+  OSDMapRef osdmap = get_osdmap();
+  if (osdmap && osdmap->is_up(whoami)) {
     state = PREPARING_TO_STOP;
     monc->send_mon_message(new MOSDMarkMeDown(monc->get_fsid(),
-                                             get_osdmap()->get_inst(whoami),
-                                             get_osdmap()->get_epoch(),
+                                             osdmap->get_inst(whoami),
+                                             osdmap->get_epoch(),
                                              false
                                              ));
     utime_t now = ceph_clock_now(g_ceph_context);