From: Pan Liu Date: Fri, 18 Nov 2016 12:01:42 +0000 (+0800) Subject: OSD: heartbeat peers need to be updated when a new OSD added into an already existed... X-Git-Tag: v11.1.0~198^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e95026f6be44f5aae93f005d249ffcf66bef15fd;p=ceph.git OSD: heartbeat peers need to be updated when a new OSD added into an already existed cluster Signed-off-by: Pan Liu --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index f294aad60077..7510beea4998 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6659,6 +6659,7 @@ void OSD::note_down_osd(int peer) void OSD::note_up_osd(int peer) { service.forget_peer_epoch(peer, osdmap->get_epoch() - 1); + heartbeat_set_peers_need_update(); } struct C_OnMapCommit : public Context { @@ -6989,6 +6990,10 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) waited_for_reservations = true; } note_down_osd(*p); + } else if (*p != whoami && + !osdmap->have_inst(*p) && + newmap->is_up(*p)) { + note_up_osd(*p); } }