]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/config: pass entity_type down into parse_env()
authorSage Weil <sage@redhat.com>
Fri, 8 Mar 2019 15:35:22 +0000 (09:35 -0600)
committerSage Weil <sage@redhat.com>
Fri, 8 Mar 2019 22:30:39 +0000 (16:30 -0600)
No functional change, but we'll need this shortly.

Signed-off-by: Sage Weil <sage@redhat.com>
src/common/config.cc
src/common/config.h
src/common/config_proxy.h
src/global/global_init.cc
src/libcephfs.cc
src/librados/librados_c.cc
src/test/librados_test_stub/LibradosTestStub.cc
src/tools/rbd_mirror/PoolReplayer.cc
src/tools/rbd_nbd/rbd-nbd.cc

index 1f965b35363bb832d626c3502b90b65913bacb4b..118ec08e79db9ad399bce15deebd14c873cf4d11 100644 (file)
@@ -453,7 +453,8 @@ int md_config_t::parse_config_files(ConfigValues& values,
   return 0;
 }
 
-void md_config_t::parse_env(ConfigValues& values,
+void md_config_t::parse_env(unsigned entity_type,
+                           ConfigValues& values,
                            const ConfigTracker& tracker,
                            const char *args_var)
 {
index 49a88f4d3023c11c299d1924686b2a8d932067eb..527f6904e967cbc1b5ea235a93fc59b81259bfe6 100644 (file)
@@ -129,7 +129,8 @@ public:
                         std::ostream *warnings, int flags);
 
   // Absorb config settings from the environment
-  void parse_env(ConfigValues& values, const ConfigTracker& tracker,
+  void parse_env(unsigned entity_type,
+                ConfigValues& values, const ConfigTracker& tracker,
                 const char *env_var = "CEPH_ARGS");
 
   // Absorb config settings from argv
index 6fb5f38e5f96ea3982fb24df0c8c98f96e0d03ac..51aeaa842d74e00570d960fbd7bc5bc1dd937e2b 100644 (file)
@@ -304,9 +304,10 @@ public:
     call_observers(rev_obs);
     return ret;
   }
-  void parse_env(const char *env_var = "CEPH_ARGS") {
+  void parse_env(unsigned entity_type,
+                const char *env_var = "CEPH_ARGS") {
     std::lock_guard l{lock};
-    config.parse_env(values, obs_mgr, env_var);
+    config.parse_env(entity_type, values, obs_mgr, env_var);
   }
   int parse_argv(std::vector<const char*>& args, int level=CONF_CMDLINE) {
     std::lock_guard l{lock};
index 0ba4754c4d03e7ceb38d14b3bd926111b9321ca0..399a1f6541f877d4d1b9171bae50db09feda0d2b 100644 (file)
@@ -137,7 +137,7 @@ void global_pre_init(
   }
 
   // environment variables override (CEPH_ARGS, CEPH_KEYRING)
-  conf.parse_env();
+  conf.parse_env(cct->get_module_type());
 
   // command line (as passed by caller)
   conf.parse_argv(args);
index a6b8edf845625e31649eee4caf61d8bddeff8052..5402045a405bec1dfdcc8e3c364cd1d9b7af8b13 100755 (executable)
@@ -249,7 +249,7 @@ public:
   int conf_parse_env(const char *name)
   {
     auto& conf = cct->_conf;
-    conf.parse_env(name);
+    conf.parse_env(cct->get_module_type(), name);
     conf.apply_changes(nullptr);
     return 0;
   }
@@ -382,7 +382,7 @@ extern "C" int ceph_create(struct ceph_mount_info **cmount, const char * const i
   }
 
   CephContext *cct = common_preinit(iparams, CODE_ENVIRONMENT_LIBRARY, 0);
-  cct->_conf.parse_env(); // environment variables coverride
+  cct->_conf.parse_env(cct->get_module_type()); // environment variables coverride
   cct->_conf.apply_changes(nullptr);
   int ret = ceph_create_with_context(cmount, cct);
   cct->put();
index b8883a82e364ab700072c80beb7f7fe2f6484c9c..ea20879823f6e650c2d1e66bf7e7f343f7de581b 100644 (file)
@@ -92,7 +92,7 @@ static CephContext *rados_create_cct(const char * const clustername,
   CephContext *cct = common_preinit(*iparams, CODE_ENVIRONMENT_LIBRARY, 0);
   if (clustername)
     cct->_conf->cluster = clustername;
-  cct->_conf.parse_env(); // environment variables override
+  cct->_conf.parse_env(cct->get_module_type()); // environment variables override
   cct->_conf.apply_changes(nullptr);
 
   TracepointProvider::initialize<tracepoint_traits>(cct);
@@ -248,7 +248,7 @@ extern "C" int _rados_conf_read_file(rados_t cluster, const char *path_list)
     tracepoint(librados, rados_conf_read_file_exit, ret);
     return ret;
   }
-  conf.parse_env(); // environment variables override
+  conf.parse_env(client->cct->get_module_type()); // environment variables override
 
   conf.apply_changes(nullptr);
   client->cct->_conf.complain_about_parse_errors(client->cct);
@@ -322,7 +322,7 @@ extern "C" int _rados_conf_parse_env(rados_t cluster, const char *env)
   tracepoint(librados, rados_conf_parse_env_enter, cluster, env);
   librados::RadosClient *client = (librados::RadosClient *)cluster;
   auto& conf = client->cct->_conf;
-  conf.parse_env(env);
+  conf.parse_env(client->cct->get_module_type(), env);
   conf.apply_changes(nullptr);
   tracepoint(librados, rados_conf_parse_env_exit, 0);
   return 0;
index a56aff24092771d1436b762250ad81bfef0b4a06..e8053b0762e739670bafcc8ca0354a4123d46e20 100644 (file)
@@ -102,7 +102,7 @@ void do_out_buffer(string& outbl, char **outbuf, size_t *outbuflen) {
 librados::TestRadosClient *create_rados_client() {
   CephInitParameters iparams(CEPH_ENTITY_TYPE_CLIENT);
   CephContext *cct = common_preinit(iparams, CODE_ENVIRONMENT_LIBRARY, 0);
-  cct->_conf.parse_env();
+  cct->_conf.parse_env(cct->get_module_type());
   cct->_conf.apply_changes(nullptr);
 
   auto rados_client =
@@ -152,7 +152,7 @@ extern "C" int rados_conf_parse_env(rados_t cluster, const char *var) {
   librados::TestRadosClient *client =
     reinterpret_cast<librados::TestRadosClient*>(cluster);
   auto& conf = client->cct()->_conf;
-  conf.parse_env(var);
+  conf.parse_env(client->cct()->get_module_type(), var);
   conf.apply_changes(NULL);
   return 0;
 }
@@ -163,7 +163,7 @@ extern "C" int rados_conf_read_file(rados_t cluster, const char *path) {
   auto& conf = client->cct()->_conf;
   int ret = conf.parse_config_files(path, NULL, 0);
   if (ret == 0) {
-    conf.parse_env();
+    conf.parse_env(client->cct()->get_module_type());
     conf.apply_changes(NULL);
     conf.complain_about_parse_errors(client->cct());
   } else if (ret == -ENOENT) {
index 9f8e5e883595b9bcfaffeaa1ed84d0bdfd047019..370d81f447065601c13d8af7cc6d787c00bcacc9 100644 (file)
@@ -450,7 +450,7 @@ int PoolReplayer<I>::init_rados(const std::string &cluster_name,
     }
   }
 
-  cct->_conf.parse_env();
+  cct->_conf.parse_env(cct->get_module_type());
 
   // librados::Rados::conf_parse_env
   std::vector<const char*> args;
@@ -461,7 +461,7 @@ int PoolReplayer<I>::init_rados(const std::string &cluster_name,
     cct->put();
     return r;
   }
-  cct->_conf.parse_env();
+  cct->_conf.parse_env(cct->get_module_type());
 
   if (!m_args.empty()) {
     // librados::Rados::conf_parse_argv
index cce44e4f7beb00780bb9aec78ffff5cf1352b6ce..5784eae4ecc73a4ba0947ea2713f47e07f74c576 100644 (file)
@@ -1044,7 +1044,7 @@ static int parse_args(vector<const char*>& args, std::ostream *err_msg,
   } else {
     config.parse_config_files(nullptr, nullptr, 0);
   }
-  config.parse_env();
+  config.parse_env(g_ceph_context->get_module_type());
   config.parse_argv(args);
   cfg->poolname = config.get_val<std::string>("rbd_default_pool");