]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/OSDMap: add addrvec accessors
authorSage Weil <sage@redhat.com>
Wed, 30 May 2018 17:42:10 +0000 (12:42 -0500)
committerSage Weil <sage@redhat.com>
Thu, 31 May 2018 13:10:24 +0000 (08:10 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSDMap.h

index c2d83d1773bd798a588c9cfc56fb17e6c68d8c8d..31d874ea9392cae2c0364f3b7bcebd0c3b1166c3 100644 (file)
@@ -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;