From: Sage Weil Date: Mon, 5 Mar 2018 18:36:59 +0000 (-0600) Subject: mon/ConfigMonitor: fix dump when by_type is missing an item X-Git-Tag: v13.0.2~78^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b349fbe2e473cf90415d0f482180a00424071e2d;p=ceph.git mon/ConfigMonitor: fix dump when by_type is missing an item Signed-off-by: Sage Weil --- diff --git a/src/mon/ConfigMonitor.cc b/src/mon/ConfigMonitor.cc index a79149ab1bfe..bdf865d63b46 100644 --- a/src/mon/ConfigMonitor.cc +++ b/src/mon/ConfigMonitor.cc @@ -144,11 +144,14 @@ bool ConfigMonitor::preprocess_command(MonOpRequestRef op) list> sections = { make_pair("global", &config_map.global) }; - for (auto& i : config_map.by_type) { - sections.push_back(make_pair(i.first, &i.second)); - auto j = config_map.by_id.lower_bound(i.first); + for (string type : { "mon", "mgr", "osd", "mds", "client" }) { + auto i = config_map.by_type.find(type); + if (i != config_map.by_type.end()) { + sections.push_back(make_pair(i->first, &i->second)); + } + auto j = config_map.by_id.lower_bound(type); while (j != config_map.by_id.end() && - j->first.find(i.first) == 0) { + j->first.find(type) == 0) { sections.push_back(make_pair(j->first, &j->second)); ++j; }