From e12a9c46066a305219ff5ec50defc25056ee9ef5 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 31 May 2013 14:59:27 -0700 Subject: [PATCH] OSD: tell them they died if they don't exist as well OSDMap::get_down_at() asserts that the osd exists. Fixes: #5223 Signed-off-by: Samuel Just Reviewed-by: Sage Weil --- src/osd/OSD.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index b6bdf2de409a4..a0b5e1130acdc 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2490,7 +2490,8 @@ void OSD::handle_osd_ping(MOSDPing *m) _share_map_outgoing(from, con.get()); } } - } else if (curmap->get_down_at(from) > m->map_epoch) { + } else if (!curmap->exists(from) || + curmap->get_down_at(from) > m->map_epoch) { // tell them they have died Message *r = new MOSDPing(monc->get_fsid(), curmap->get_epoch(), -- 2.39.5