From: Sage Weil Date: Wed, 30 May 2018 17:42:10 +0000 (-0500) Subject: osd/OSDMap: add addrvec accessors X-Git-Tag: v14.0.1~1208^2~23 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5858ae5ef604bc11b09c149ba301295146867523;p=ceph.git osd/OSDMap: add addrvec accessors Signed-off-by: Sage Weil --- diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h index c2d83d1773bd..31d874ea9392 100644 --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@ -891,6 +891,30 @@ public: return identify_osd(addr) >= 0; } int find_osd_on_ip(const entity_addr_t& ip) const; + + entity_addrvec_t get_addrs(int osd) const { + assert(exists(osd)); + return entity_addrvec_t(osd_addrs->client_addr[osd] ? *osd_addrs->client_addr[osd] : osd_addrs->blank); + } + entity_addrvec_t get_cluster_addrs(int osd) const { + assert(exists(osd)); + if (!osd_addrs->cluster_addr[osd] || *osd_addrs->cluster_addr[osd] == entity_addr_t()) + return get_addrs(osd); + return entity_addrvec_t(*osd_addrs->cluster_addr[osd]); + } + entity_addrvec_t get_hb_back_addrs(int osd) const { + assert(exists(osd)); + return entity_addrvec_t(osd_addrs->hb_back_addr[osd] ? *osd_addrs->hb_back_addr[osd] : osd_addrs->blank); + } + entity_addrvec_t get_hb_front_addrs(int osd) const { + assert(exists(osd)); + return entity_addrvec_t(osd_addrs->hb_front_addr[osd] ? *osd_addrs->hb_front_addr[osd] : osd_addrs->blank); + } + entity_addrvec_t get_most_recent_addrs(int osd) const { + assert(exists(osd)); + return get_addrs(osd); + } + const entity_addr_t &get_addr(int osd) const { assert(exists(osd)); return osd_addrs->client_addr[osd] ? *osd_addrs->client_addr[osd] : osd_addrs->blank;