From 2031364451b0482bf25de57c80f1be682ee4615a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 21 Nov 2010 20:46:41 -0800 Subject: [PATCH] osdmap: fix cluster_addr encoding; printing The cluster addrs were getting lost because we were checking v instead of ev. Signed-off-by: Sage Weil --- src/osd/OSDMap.cc | 2 +- src/osd/OSDMap.h | 23 +++++++++-------------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index f4767b4bf1e20..33a6dac4424ea 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -66,7 +66,7 @@ void OSDMap::print(ostream& out) const const osd_info_t& info(get_info(i)); out << " " << info; if (is_up(i)) - out << " " << get_addr(i) << " " << get_hb_addr(i); + out << " " << get_addr(i) << " " << get_cluster_addr(i) << " " << get_hb_addr(i); out << "\n"; } } diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h index 5e6c2a91425d7..2ccafbbc7563c 100644 --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@ -233,7 +233,7 @@ public: ::decode(new_lost, p); ::decode(new_blacklist, p); ::decode(old_blacklist, p); - if (v >= 6) + if (ev >= 6) ::decode(new_up_internal, p); } @@ -579,21 +579,16 @@ private: i++) { osd_state[i->first] |= CEPH_OSD_EXISTS | CEPH_OSD_UP; osd_addr[i->first] = i->second; - if (inc.new_hb_up.empty()) { - //this is a backward-compatibility hack - osd_hb_addr[i->first] = i->second; - //osd_hb_addr[i->first].erank = osd_hb_addr[i->first].erank + 1; - } - else osd_hb_addr[i->first] = inc.new_hb_up[i->first]; + if (inc.new_hb_up.empty()) + osd_hb_addr[i->first] = i->second; //this is a backward-compatibility hack + else + osd_hb_addr[i->first] = inc.new_hb_up[i->first]; osd_info[i->first].up_from = epoch; - //cout << "epoch " << epoch << " up osd" << i->first << " at " << i->second << "with hb addr" << osd_hb_addr[i->first] << std::endl; } for (map::iterator i = inc.new_up_internal.begin(); - i != inc.new_up_internal.end(); - ++i) + i != inc.new_up_internal.end(); + i++) osd_cluster_addr[i->first] = i->second; - if (osd_cluster_addr.size() != osd_addr.size()) - osd_cluster_addr.resize(osd_addr.size()); // info for (map::iterator i = inc.new_up_thru.begin(); i != inc.new_up_thru.end(); @@ -721,9 +716,9 @@ private: ::decode(pool_name, p); ::decode(blacklist, p); - if (v>=6) + if (ev >= 6) ::decode(osd_cluster_addr, p); - if (osd_cluster_addr.size() != osd_addr.size()) + else osd_cluster_addr.resize(osd_addr.size()); // index pool names -- 2.39.5