From: Joao Eduardo Luis Date: Fri, 29 Aug 2014 19:21:25 +0000 (+0100) Subject: osd: OSDMap: ordered blacklist on non-classic encode function X-Git-Tag: v0.86~168 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=81102044f417bd99ca570d9234b1df5195e9a8c9;p=ceph.git osd: OSDMap: ordered blacklist on non-classic encode function Fixes: #9211 Backport: firefly Signed-off-by: Joao Eduardo Luis Reviewed-by: Sage Weil --- diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index 3dd0c1b5dc5f..ca0f6e63e020 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -1760,15 +1760,7 @@ void OSDMap::encode_classic(bufferlist& bl, uint64_t features) const ::encode(ev, bl); ::encode(osd_addrs->hb_back_addr, bl); ::encode(osd_info, bl); - { - // put this in a sorted, ordered map<> so that we encode in a - // deterministic order. - map blacklist_map; - for (ceph::unordered_map::const_iterator p = - blacklist.begin(); p != blacklist.end(); ++p) - blacklist_map.insert(make_pair(p->first, p->second)); - ::encode(blacklist_map, bl); - } + ::encode(blacklist, bl); ::encode(osd_addrs->cluster_addr, bl); ::encode(cluster_snapshot_epoch, bl); ::encode(cluster_snapshot, bl); @@ -1826,7 +1818,15 @@ void OSDMap::encode(bufferlist& bl, uint64_t features) const ENCODE_START(1, 1, bl); // extended, osd-only data ::encode(osd_addrs->hb_back_addr, bl); ::encode(osd_info, bl); - ::encode(blacklist, bl); + { + // put this in a sorted, ordered map<> so that we encode in a + // deterministic order. + map blacklist_map; + for (ceph::unordered_map::const_iterator p = + blacklist.begin(); p != blacklist.end(); ++p) + blacklist_map.insert(make_pair(p->first, p->second)); + ::encode(blacklist_map, bl); + } ::encode(osd_addrs->cluster_addr, bl); ::encode(cluster_snapshot_epoch, bl); ::encode(cluster_snapshot, bl);