From dfd07f38206393bc032de77fe7555ab9a7521c95 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 20 Nov 2017 15:28:12 -0600 Subject: [PATCH] common/config: streamline get_val_generic Lookup value first; avoid a schema lookup entirely. Signed-off-by: Sage Weil --- src/common/config.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/common/config.cc b/src/common/config.cc index 6639ea12b6f..c833433de29 100644 --- a/src/common/config.cc +++ b/src/common/config.cc @@ -911,14 +911,12 @@ Option::value_t md_config_t::_get_val_generic(const std::string &key) const // In key names, leading and trailing whitespace are not significant. string k(ConfFile::normalize_key_name(key)); - const auto &opt_iter = schema.find(k); - if (opt_iter != schema.end()) { - // Using .at() is safe because all keys in the schema always have - // entries in ::values - return values.at(k); - } else { - return Option::value_t(boost::blank()); + auto p = values.find(k); + if (p != values.end()) { + return p->second; } + + return Option::value_t(boost::blank()); } int md_config_t::_get_val_as_string(const std::string &key, -- 2.47.3