summaryrefslogtreecommitdiff
path: root/src/osd/OSD.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/OSD.cc')
-rw-r--r--src/osd/OSD.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index 8cc9e31459d..3f226cec95d 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -1728,7 +1728,7 @@ PG* OSD::_make_pg(
PG *pg;
hobject_t logoid = make_pg_log_oid(pgid);
hobject_t infooid = make_pg_biginfo_oid(pgid);
- if (osdmap->get_pg_type(pgid) == pg_pool_t::TYPE_REP)
+ if (createmap->get_pg_type(pgid) == pg_pool_t::TYPE_REP)
pg = new ReplicatedPG(&service, createmap, pool, pgid, logoid, infooid);
else
assert(0);
@@ -4739,11 +4739,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);