summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-05-29 13:16:01 -0700
committerSage Weil <sage@inktank.com>2013-05-29 13:41:44 -0700
commitaac828c2ecb90f46d37862d71092171c03bb16d3 (patch)
tree369745e68f209888b71186245da0152cf61b3481 /src
parentea2b2329b3a1ad3a5b5ce316811c75cb75165228 (diff)
downloadceph-aac828c2ecb90f46d37862d71092171c03bb16d3.tar.gz
osd: tell peers that ping us if they are dead
Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'src')
-rw-r--r--src/osd/OSD.cc7
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;