From b349fbe2e473cf90415d0f482180a00424071e2d Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 5 Mar 2018 12:36:59 -0600 Subject: [PATCH] mon/ConfigMonitor: fix dump when by_type is missing an item Signed-off-by: Sage Weil --- src/mon/ConfigMonitor.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/mon/ConfigMonitor.cc b/src/mon/ConfigMonitor.cc index a79149ab1bf..bdf865d63b4 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; } -- 2.39.5