From: Jason Dillaman Date: Mon, 16 Nov 2015 18:31:34 +0000 (-0500) Subject: rbd: support negative boolean command-line optionals X-Git-Tag: v10.0.1~54^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F6607%2Fhead;p=ceph.git rbd: support negative boolean command-line optionals Fixes: #13784 Signed-off-by: Jason Dillaman --- diff --git a/src/common/config.cc b/src/common/config.cc index ff5c7eacb02..4ee54bb59ad 100644 --- a/src/common/config.cc +++ b/src/common/config.cc @@ -812,10 +812,15 @@ int md_config_t::_get_val(const char *key, char **buf, int len) const } void md_config_t::get_all_keys(std::vector *keys) const { + const std::string negative_flag_prefix("no_"); + keys->clear(); keys->reserve(NUM_CONFIG_OPTIONS); for (size_t i = 0; i < NUM_CONFIG_OPTIONS; ++i) { keys->push_back(config_optionsp[i].name); + if (config_optionsp[i].type == OPT_BOOL) { + keys->push_back(negative_flag_prefix + config_optionsp[i].name); + } } for (int i = 0; i < subsys.get_num(); ++i) { keys->push_back("debug_" + subsys.get_name(i));