diff options
Diffstat (limited to 'src/osd/OSD.cc')
-rw-r--r-- | src/osd/OSD.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 26a601ed91a..5c8457ac475 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2417,6 +2417,13 @@ void OSD::handle_osd_ping(MOSDPing *m) _share_map_outgoing(from, con.get()); } } + } else if (curmap->get_down_at(from) > m->map_epoch) { + // tell them they have died + Message *r = new MOSDPing(monc->get_fsid(), + curmap->get_epoch(), + MOSDPing::YOU_DIED, + m->stamp); + m->get_connection()->get_messenger()->send_message(r, m->get_connection()); } } break; |