]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd: support negative boolean command-line optionals 6607/head
authorJason Dillaman <dillaman@redhat.com>
Mon, 16 Nov 2015 18:31:34 +0000 (13:31 -0500)
committerJason Dillaman <dillaman@redhat.com>
Mon, 16 Nov 2015 18:31:34 +0000 (13:31 -0500)
Fixes: #13784
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/common/config.cc

index ff5c7eacb027120e883f7aa9e7815e74ba182af6..4ee54bb59adb9c59ff01bc3dadbf32850817a63f 100644 (file)
@@ -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<std::string> *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));