From: Sage Weil Date: Fri, 8 Mar 2019 15:35:22 +0000 (-0600) Subject: common/config: pass entity_type down into parse_env() X-Git-Tag: v14.2.0~66^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a92628f2857390460e35ae60b8e06f16296da481;p=ceph.git common/config: pass entity_type down into parse_env() No functional change, but we'll need this shortly. Signed-off-by: Sage Weil --- diff --git a/src/common/config.cc b/src/common/config.cc index 1f965b35363b..118ec08e79db 100644 --- a/src/common/config.cc +++ b/src/common/config.cc @@ -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) { diff --git a/src/common/config.h b/src/common/config.h index 49a88f4d3023..527f6904e967 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -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 diff --git a/src/common/config_proxy.h b/src/common/config_proxy.h index 6fb5f38e5f96..51aeaa842d74 100644 --- a/src/common/config_proxy.h +++ b/src/common/config_proxy.h @@ -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& args, int level=CONF_CMDLINE) { std::lock_guard l{lock}; diff --git a/src/global/global_init.cc b/src/global/global_init.cc index 0ba4754c4d03..399a1f6541f8 100644 --- a/src/global/global_init.cc +++ b/src/global/global_init.cc @@ -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); diff --git a/src/libcephfs.cc b/src/libcephfs.cc index a6b8edf84562..5402045a405b 100755 --- a/src/libcephfs.cc +++ b/src/libcephfs.cc @@ -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(); diff --git a/src/librados/librados_c.cc b/src/librados/librados_c.cc index b8883a82e364..ea20879823f6 100644 --- a/src/librados/librados_c.cc +++ b/src/librados/librados_c.cc @@ -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(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; diff --git a/src/test/librados_test_stub/LibradosTestStub.cc b/src/test/librados_test_stub/LibradosTestStub.cc index a56aff240927..e8053b0762e7 100644 --- a/src/test/librados_test_stub/LibradosTestStub.cc +++ b/src/test/librados_test_stub/LibradosTestStub.cc @@ -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(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) { diff --git a/src/tools/rbd_mirror/PoolReplayer.cc b/src/tools/rbd_mirror/PoolReplayer.cc index 9f8e5e883595..370d81f44706 100644 --- a/src/tools/rbd_mirror/PoolReplayer.cc +++ b/src/tools/rbd_mirror/PoolReplayer.cc @@ -450,7 +450,7 @@ int PoolReplayer::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 args; @@ -461,7 +461,7 @@ int PoolReplayer::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 diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc index cce44e4f7beb..5784eae4ecc7 100644 --- a/src/tools/rbd_nbd/rbd-nbd.cc +++ b/src/tools/rbd_nbd/rbd-nbd.cc @@ -1044,7 +1044,7 @@ static int parse_args(vector& 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("rbd_default_pool");