diff options
author | Sage Weil <sage@inktank.com> | 2013-05-21 17:20:45 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-22 16:13:37 -0700 |
commit | 28851424bf8290258a3dcb121d6f10d8b299054a (patch) | |
tree | bfaa5b2cd61deecc87e00b8def05d3a3b1b22662 /src/osd/OSD.cc | |
parent | 6ad105513940ca4ebb2c44094f47b75bc01c36e9 (diff) | |
download | ceph-28851424bf8290258a3dcb121d6f10d8b299054a.tar.gz |
msgr: take an arbitrary set of ports to avoid binding to
We used to only need to avoid 2 ports; now we need 3. Make it a set so we
don't have this problem later.
Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'src/osd/OSD.cc')
-rw-r--r-- | src/osd/OSD.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index b5a3a5ea309..5b51b44f24d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -4464,18 +4464,20 @@ void OSD::handle_osd_map(MOSDMap *m) do_restart = true; bind_epoch = osdmap->get_epoch(); - int cport = cluster_messenger->get_myaddr().get_port(); - int hbport = hb_back_server_messenger->get_myaddr().get_port(); + set<int> avoid_ports; + 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()); - int r = cluster_messenger->rebind(hbport); + int r = cluster_messenger->rebind(avoid_ports); if (r != 0) do_shutdown = true; // FIXME: do_restart? - r = hb_back_server_messenger->rebind(cport); + r = hb_back_server_messenger->rebind(avoid_ports); if (r != 0) do_shutdown = true; // FIXME: do_restart? - r = hb_front_server_messenger->rebind(hbport); + r = hb_front_server_messenger->rebind(avoid_ports); if (r != 0) do_shutdown = true; // FIXME: do_restart? |