]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: send MOSDMarkMeDead when we are marked down
authorSage Weil <sage@redhat.com>
Tue, 9 Jul 2019 18:38:14 +0000 (13:38 -0500)
committerSage Weil <sage@redhat.com>
Thu, 25 Jul 2019 17:24:25 +0000 (12:24 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc

index d58c628efcf367c19ca4671488c96b6c5dd3054f..7219b80f20740ba0bd029068835967e44ae8c65c 100644 (file)
@@ -71,6 +71,7 @@
 #include "messages/MOSDPing.h"
 #include "messages/MOSDFailure.h"
 #include "messages/MOSDMarkMeDown.h"
+#include "messages/MOSDMarkMeDead.h"
 #include "messages/MOSDFull.h"
 #include "messages/MOSDOp.h"
 #include "messages/MOSDOpReply.h"
@@ -8024,6 +8025,14 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m)
                         << " wrongly marked me down at e"
                         << osdmap->get_down_at(whoami);
        }
+       if (monc->monmap.min_mon_release >= ceph_release_t::octopus) {
+         // note that this is best-effort...
+         monc->send_mon_message(
+           new MOSDMarkMeDead(
+             monc->get_fsid(),
+             whoami,
+             osdmap->get_epoch()));
+       }
       } else if (!osdmap->get_addrs(whoami).legacy_equals(
                   client_messenger->get_myaddrs())) {
        clog->error() << "map e" << osdmap->get_epoch()