From: xie xingguo Date: Fri, 15 Mar 2019 07:52:28 +0000 (+0800) Subject: mon/MonMap: fix mon priority X-Git-Tag: v15.0.0~222^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=81d0ec148fcec817c06c376d87bcb6aa0fa96211;p=ceph.git mon/MonMap: fix mon priority The mon priorities, if specified by configuration or through DNS, might get lost in some scenarios. Since the caller(s) of _add_ambiguous_addr should have taken good care of the priority parameter in all cases (e.g., caller will guarantee to pass in a sane (zeroed) value if unspecified), it should be safe to apply priority unconditionally. Signed-off-by: xie xingguo --- diff --git a/src/mon/MonMap.cc b/src/mon/MonMap.cc index 90330a1dab38..20d956141bd0 100644 --- a/src/mon/MonMap.cc +++ b/src/mon/MonMap.cc @@ -374,7 +374,7 @@ void MonMap::_add_ambiguous_addr(const string& name, return; } if (!contains(addr)) { - add(name, entity_addrvec_t(addr)); + add(name, entity_addrvec_t(addr), priority); } } else { if (!contains(addr)) { @@ -388,16 +388,16 @@ void MonMap::_add_ambiguous_addr(const string& name, addr.set_type(entity_addr_t::TYPE_LEGACY); if (!contains(addr)) { if (!for_mkfs) { - add(name + "-legacy", entity_addrvec_t(addr)); + add(name + "-legacy", entity_addrvec_t(addr), priority); } else { - add(name, entity_addrvec_t(addr)); + add(name, entity_addrvec_t(addr), priority); } } } else if (addr.get_port() == CEPH_MON_PORT_IANA) { // iana port implies msgr2 addr addr.set_type(entity_addr_t::TYPE_MSGR2); if (!contains(addr)) { - add(name, entity_addrvec_t(addr)); + add(name, entity_addrvec_t(addr), priority); } } else if (addr.get_port() == 0) { // no port; include both msgr2 and legacy ports @@ -405,12 +405,12 @@ void MonMap::_add_ambiguous_addr(const string& name, addr.set_type(entity_addr_t::TYPE_MSGR2); addr.set_port(CEPH_MON_PORT_IANA); if (!contains(addr)) { - add(name, entity_addrvec_t(addr)); + add(name, entity_addrvec_t(addr), priority); } addr.set_type(entity_addr_t::TYPE_LEGACY); addr.set_port(CEPH_MON_PORT_LEGACY); if (!contains(addr)) { - add(name + "-legacy", entity_addrvec_t(addr)); + add(name + "-legacy", entity_addrvec_t(addr), priority); } } else { entity_addrvec_t av; @@ -421,7 +421,7 @@ void MonMap::_add_ambiguous_addr(const string& name, addr.set_port(CEPH_MON_PORT_LEGACY); av.v.push_back(addr); if (!contains(av)) { - add(name, av); + add(name, av, priority); } } } else {