From 950f8d68a6c375b0031e966c1cdc66b7122632fa Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 30 May 2018 15:12:47 -0500 Subject: [PATCH] osd: avoid OSDMap::get_addr() Signed-off-by: Sage Weil --- src/osd/OSD.cc | 62 ++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index c0235cd1703..11c695ab928 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -7449,7 +7449,7 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) service.retrieve_epochs(&boot_epoch, &up_epoch, NULL); if (!up_epoch && osdmap->is_up(whoami) && - osdmap->get_addr(whoami) == client_messenger->get_myaddr()) { + osdmap->get_addrs(whoami) == client_messenger->get_myaddrs()) { up_epoch = osdmap->get_epoch(); dout(10) << "up_epoch is " << up_epoch << dendl; if (!boot_epoch) { @@ -7464,7 +7464,7 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) epoch_t _bind_epoch = service.get_bind_epoch(); if (osdmap->is_up(whoami) && - osdmap->get_addr(whoami) == client_messenger->get_myaddr() && + osdmap->get_addrs(whoami) == client_messenger->get_myaddrs() && _bind_epoch < osdmap->get_up_from(whoami)) { if (is_booting()) { @@ -7485,15 +7485,14 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) do_shutdown = true; // don't call shutdown() while we have // everything paused } else if (!osdmap->is_up(whoami) || - !osdmap->get_addr(whoami).probably_equals( - client_messenger->get_myaddr()) || - !osdmap->get_cluster_addr(whoami).probably_equals( - cluster_messenger->get_myaddr()) || - !osdmap->get_hb_back_addr(whoami).probably_equals( - hb_back_server_messenger->get_myaddr()) || - (osdmap->get_hb_front_addr(whoami) != entity_addr_t() && - !osdmap->get_hb_front_addr(whoami).probably_equals( - hb_front_server_messenger->get_myaddr()))) { + !osdmap->get_addrs(whoami).probably_equals( + client_messenger->get_myaddrs()) || + !osdmap->get_cluster_addrs(whoami).probably_equals( + cluster_messenger->get_myaddrs()) || + !osdmap->get_hb_back_addrs(whoami).probably_equals( + hb_back_server_messenger->get_myaddrs()) || + !osdmap->get_hb_front_addrs(whoami).probably_equals( + hb_front_server_messenger->get_myaddrs())) { if (!osdmap->is_up(whoami)) { if (service.is_preparing_to_stop() || service.is_stopping()) { service.got_stop_ack(); @@ -7504,31 +7503,30 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) << " wrongly marked me down at e" << osdmap->get_down_at(whoami); } - } else if (!osdmap->get_addr(whoami).probably_equals( - client_messenger->get_myaddr())) { + } else if (!osdmap->get_addrs(whoami).probably_equals( + client_messenger->get_myaddrs())) { clog->error() << "map e" << osdmap->get_epoch() - << " had wrong client addr (" << osdmap->get_addr(whoami) - << " != my " << client_messenger->get_myaddr() << ")"; - } else if (!osdmap->get_cluster_addr(whoami).probably_equals( - cluster_messenger->get_myaddr())) { + << " had wrong client addr (" << osdmap->get_addrs(whoami) + << " != my " << client_messenger->get_myaddrs() << ")"; + } else if (!osdmap->get_cluster_addrs(whoami).probably_equals( + cluster_messenger->get_myaddrs())) { clog->error() << "map e" << osdmap->get_epoch() << " had wrong cluster addr (" - << osdmap->get_cluster_addr(whoami) - << " != my " << cluster_messenger->get_myaddr() << ")"; - } else if (!osdmap->get_hb_back_addr(whoami).probably_equals( - hb_back_server_messenger->get_myaddr())) { + << osdmap->get_cluster_addrs(whoami) + << " != my " << cluster_messenger->get_myaddrs() << ")"; + } else if (!osdmap->get_hb_back_addrs(whoami).probably_equals( + hb_back_server_messenger->get_myaddrs())) { clog->error() << "map e" << osdmap->get_epoch() << " had wrong heartbeat back addr (" - << osdmap->get_hb_back_addr(whoami) - << " != my " << hb_back_server_messenger->get_myaddr() + << osdmap->get_hb_back_addrs(whoami) + << " != my " << hb_back_server_messenger->get_myaddrs() << ")"; - } else if (osdmap->get_hb_front_addr(whoami) != entity_addr_t() && - !osdmap->get_hb_front_addr(whoami).probably_equals( - hb_front_server_messenger->get_myaddr())) { + } else if (!osdmap->get_hb_front_addrs(whoami).probably_equals( + hb_front_server_messenger->get_myaddrs())) { clog->error() << "map e" << osdmap->get_epoch() << " had wrong heartbeat front addr (" - << osdmap->get_hb_front_addr(whoami) - << " != my " << hb_front_server_messenger->get_myaddr() + << osdmap->get_hb_front_addrs(whoami) + << " != my " << hb_front_server_messenger->get_myaddrs() << ")"; } @@ -7564,11 +7562,11 @@ void OSD::_committed_osd_maps(epoch_t first, epoch_t last, MOSDMap *m) // prevent FreeBSD from grabbing the client_messenger port during // rebinding. In which case a cluster_meesneger will connect also // to the same port - avoid_ports.insert(client_messenger->get_myaddr().get_port()); + client_messenger->get_myaddrs().get_ports(&avoid_ports); #endif - avoid_ports.insert(cluster_messenger->get_myaddr().get_port()); - avoid_ports.insert(hb_back_server_messenger->get_myaddr().get_port()); - avoid_ports.insert(hb_front_server_messenger->get_myaddr().get_port()); + cluster_messenger->get_myaddrs().get_ports(&avoid_ports); + hb_back_server_messenger->get_myaddrs().get_ports(&avoid_ports); + hb_front_server_messenger->get_myaddrs().get_ports(&avoid_ports); int r = cluster_messenger->rebind(avoid_ports); if (r != 0) { -- 2.39.5