]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: tell them they died if they don't exist as well
authorSamuel Just <sam.just@inktank.com>
Fri, 31 May 2013 21:59:27 +0000 (14:59 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 31 May 2013 22:10:53 +0000 (15:10 -0700)
OSDMap::get_down_at() asserts that the osd exists.

Fixes: #5223
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc

index b6bdf2de409a46b53291856fd0cddf97ccf93f02..a0b5e1130acdc34f66320b0813e3fe4e197bf8fd 100644 (file)
@@ -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(),