From: Casey Bodley Date: Tue, 19 Nov 2019 17:48:26 +0000 (-0500) Subject: Merge pull request #16715 from adamemerson/wip-I-Object! X-Git-Tag: v15.1.0~843 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=669453138d89e0f797a1bd37f38a2d68e6aac366;p=ceph.git Merge pull request #16715 from adamemerson/wip-I-Object! osdc/Objecter: Boost.Asio (I object!) Reviewed-by: Josh Durgin Reviewed-by: Casey Bodley --- 669453138d89e0f797a1bd37f38a2d68e6aac366 diff --cc src/mon/ConfigMap.cc index b7343ce4264,a7a151b22a9..696b18edbc4 --- a/src/mon/ConfigMap.cc +++ b/src/mon/ConfigMap.cc @@@ -115,20 -113,11 +115,20 @@@ ConfigMap::generate_entity_map vector> sections = { make_pair("global", &global) }; auto p = by_type.find(name.get_type_name()); if (p != by_type.end()) { - sections.push_back(make_pair(name.get_type_name(), &p->second)); + sections.emplace_back(name.get_type_name(), &p->second); } - auto q = by_id.find(name.to_str()); - if (q != by_id.end()) { - sections.push_back(make_pair(name.to_str(), &q->second)); + vector name_bits; + boost::split(name_bits, name.to_str(), [](char c){ return c == '.'; }); + std::string tname; + for (unsigned p = 0; p < name_bits.size(); ++p) { + if (p) { + tname += '.'; + } + tname += name_bits[p]; + auto q = by_id.find(tname); + if (q != by_id.end()) { + sections.push_back(make_pair(tname, &q->second)); + } } std::map> out; MaskedOption *prev = nullptr;