From: Colin Patrick McCabe Date: Thu, 14 Apr 2011 22:10:08 +0000 (-0700) Subject: config: make md_config_t.name a value, not ptr X-Git-Tag: v0.27~65 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a3a1a0437e8b9daa1eae36f278517a1bad5ecdc1;p=ceph.git config: make md_config_t.name a value, not ptr Signed-off-by: Colin McCabe --- diff --git a/src/auth/KeyRing.h b/src/auth/KeyRing.h index d8f69f7ebe531..1786aa14c586e 100644 --- a/src/auth/KeyRing.h +++ b/src/auth/KeyRing.h @@ -47,7 +47,7 @@ public: return false; } void get_master(CryptoKey& dest) { - get_secret(*g_conf.name, dest); + get_secret(g_conf.name, dest); } // modifiers diff --git a/src/auth/cephx/CephxProtocol.cc b/src/auth/cephx/CephxProtocol.cc index c0b2cb9ece32b..9b025b0e44472 100644 --- a/src/auth/cephx/CephxProtocol.cc +++ b/src/auth/cephx/CephxProtocol.cc @@ -338,7 +338,7 @@ bool cephx_decode_ticket(KeyStore *keys, uint32_t service_id, CephXTicketBlob& t } if (secret_id == (uint64_t)-1) { - if (!keys->get_secret(*g_conf.name, service_secret)) { + if (!keys->get_secret(g_conf.name, service_secret)) { dout(0) << "ceph_decode_ticket could not get general service secret for service_id=" << ceph_entity_type_name(service_id) << " secret_id=" << secret_id << dendl; return false; diff --git a/src/auth/none/AuthNoneProtocol.h b/src/auth/none/AuthNoneProtocol.h index cf4dc2f9f200a..92acb9f14c9eb 100644 --- a/src/auth/none/AuthNoneProtocol.h +++ b/src/auth/none/AuthNoneProtocol.h @@ -22,7 +22,7 @@ struct AuthNoneAuthorizer : public AuthAuthorizer { bool build_authorizer(uint64_t global_id) { __u8 struct_v = 1; ::encode(struct_v, bl); - ::encode(*g_conf.name, bl); + ::encode(g_conf.name, bl); ::encode(global_id, bl); return 0; } diff --git a/src/cauthtool.cc b/src/cauthtool.cc index f1d0701537ad3..b7ed26d6defcd 100644 --- a/src/cauthtool.cc +++ b/src/cauthtool.cc @@ -55,7 +55,7 @@ int main(int argc, const char **argv) common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, CINIT_FLAG_NO_DEFAULT_CONFIG_FILE); - EntityName ename(*g_conf.name); + EntityName ename(g_conf.name); const char *me = argv[0]; diff --git a/src/cmds.cc b/src/cmds.cc index aa55e052254e4..47f1a05519b30 100644 --- a/src/cmds.cc +++ b/src/cmds.cc @@ -107,7 +107,7 @@ int main(int argc, const char **argv) usage(); } } - if (g_conf.name->has_default_id() && dump_journal < 0 && reset_journal < 0) { + if (g_conf.name.has_default_id() && dump_journal < 0 && reset_journal < 0) { derr << "must specify '-i name' with the cmds instance name" << dendl; usage(); } @@ -131,7 +131,7 @@ int main(int argc, const char **argv) jr->reset(); mc.shutdown(); } else { - cout << "starting " << *g_conf.name << " at " << messenger->get_ms_addr() + cout << "starting " << g_conf.name << " at " << messenger->get_ms_addr() << std::endl; messenger->register_entity(entity_name_t::MDS(-1)); @@ -156,7 +156,7 @@ int main(int argc, const char **argv) messenger->start(g_conf.daemonize); // start mds - MDS *mds = new MDS(g_conf.name->get_id().c_str(), messenger, &mc); + MDS *mds = new MDS(g_conf.name.get_id().c_str(), messenger, &mc); // in case we have to respawn... mds->orig_argc = argc; diff --git a/src/cmon.cc b/src/cmon.cc index 3d127aa471349..d40094b29b2ff 100644 --- a/src/cmon.cc +++ b/src/cmon.cc @@ -109,10 +109,10 @@ int main(int argc, const char **argv) // go MonitorStore store(g_conf.mon_data); - Monitor mon(g_conf.name->get_id(), &store, 0, &monmap); + Monitor mon(g_conf.name.get_id(), &store, 0, &monmap); mon.mkfs(osdmapbl); cout << argv[0] << ": created monfs at " << g_conf.mon_data - << " for " << *g_conf.name << std::endl; + << " for " << g_conf.name << std::endl; return 0; } @@ -221,12 +221,12 @@ int main(int argc, const char **argv) assert(v == monmap.get_epoch()); } - if (!monmap.contains(g_conf.name->get_id())) { - cerr << *g_conf.name << " does not exist in monmap" << std::endl; + if (!monmap.contains(g_conf.name.get_id())) { + cerr << g_conf.name << " does not exist in monmap" << std::endl; exit(1); } - entity_addr_t ipaddr = monmap.get_addr(g_conf.name->get_id()); + entity_addr_t ipaddr = monmap.get_addr(g_conf.name.get_id()); entity_addr_t conf_addr; std::vector my_sections; g_conf.get_my_sections(my_sections); @@ -244,21 +244,21 @@ int main(int argc, const char **argv) // bind SimpleMessenger *messenger = new SimpleMessenger(); - int rank = monmap.get_rank(g_conf.name->get_id()); + int rank = monmap.get_rank(g_conf.name.get_id()); - cout << "starting " << *g_conf.name << " rank " << rank - << " at " << monmap.get_addr(g_conf.name->get_id()) + cout << "starting " << g_conf.name << " rank " << rank + << " at " << monmap.get_addr(g_conf.name.get_id()) << " mon_data " << g_conf.mon_data << " fsid " << monmap.get_fsid() << std::endl; - err = messenger->bind(monmap.get_addr(g_conf.name->get_id()), 0); + err = messenger->bind(monmap.get_addr(g_conf.name.get_id()), 0); if (err < 0) return 1; // start monitor messenger->register_entity(entity_name_t::MON(rank)); messenger->set_default_send_priority(CEPH_MSG_PRIO_HIGH); - Monitor *mon = new Monitor(g_conf.name->get_id(), &store, messenger, &monmap); + Monitor *mon = new Monitor(g_conf.name.get_id(), &store, messenger, &monmap); messenger->start(g_conf.daemonize); diff --git a/src/common/DoutStreambuf.cc b/src/common/DoutStreambuf.cc index 0fa6f7990acd5..08d443bc70059 100644 --- a/src/common/DoutStreambuf.cc +++ b/src/common/DoutStreambuf.cc @@ -337,7 +337,7 @@ int DoutStreambuf::create_rank_symlink(int n) ostringstream rss; std::string symlink_dir(_get_symlink_dir()); - rss << symlink_dir << "/" << g_conf.name->get_type_name() << "." << n; + rss << symlink_dir << "/" << g_conf.name.get_type_name() << "." << n; string rsym_path_(rss.str()); int ret = create_symlink(opath, rsym_path_); @@ -459,7 +459,7 @@ std::string DoutStreambuf::_calculate_opath() const } else { ostringstream oss; - oss << log_dir << "/" << g_conf.name->to_str() << ".log"; + oss << log_dir << "/" << g_conf.name.to_str() << ".log"; return oss.str(); } } @@ -492,7 +492,7 @@ int DoutStreambuf::_read_ofile_config() // Calculate instance symlink path (isym_path) ostringstream iss; std::string symlink_dir(_get_symlink_dir()); - iss << symlink_dir << "/" << g_conf.name->to_str(); + iss << symlink_dir << "/" << g_conf.name.to_str(); isym_path = iss.str(); // Rotate isym_path diff --git a/src/common/common_init.cc b/src/common/common_init.cc index f68be5350a193..6e7b371933c16 100644 --- a/src/common/common_init.cc +++ b/src/common/common_init.cc @@ -43,7 +43,7 @@ int keyring_init(md_config_t *conf) if (!conf->key.empty()) { EntityAuth ea; ea.key.decode_base64(conf->key); - g_keyring.add(*conf->name, ea); + g_keyring.add(conf->name, ea); ret = 0; } else if (!conf->keyfile.empty()) { @@ -70,7 +70,7 @@ int keyring_init(md_config_t *conf) EntityAuth ea; ea.key.decode_base64(k); - g_keyring.add(*conf->name, ea); + g_keyring.add(conf->name, ea); ret = 0; } @@ -91,7 +91,7 @@ md_config_t *common_preinit(const CephInitParameters &iparams, md_config_t *conf = &g_conf; //new md_config_t(); // Set up our entity name. - conf->name = new EntityName(iparams.name); + conf->name = iparams.name; // Set some defaults based on code type switch (code_env) { @@ -168,7 +168,7 @@ void common_init(std::vector < const char* >& args, if (conf->log_to_syslog || conf->clog_to_syslog) { closelog(); - openlog(g_conf.name->to_cstr(), LOG_ODELAY | LOG_PID, LOG_USER); + openlog(g_conf.name.to_cstr(), LOG_ODELAY | LOG_PID, LOG_USER); } { diff --git a/src/common/config.cc b/src/common/config.cc index 2e321b85f61b4..6ae846b75ea13 100644 --- a/src/common/config.cc +++ b/src/common/config.cc @@ -690,13 +690,13 @@ get_val(const char *key, char **buf, int len) const void md_config_t:: get_my_sections(std::vector §ions) { - sections.push_back(name->to_str()); + sections.push_back(name.to_str()); - std::string alt_name(name->get_type_name()); - alt_name += name->get_id(); + std::string alt_name(name.get_type_name()); + alt_name += name.get_id(); sections.push_back(alt_name); - sections.push_back(name->get_type_name()); + sections.push_back(name.get_type_name()); sections.push_back("global"); } @@ -905,15 +905,15 @@ expand_meta(std::string &val) const if (strncmp(val.c_str() + s + 1, CONF_METAVARIABLES[i], clen)) continue; if (strcmp(CONF_METAVARIABLES[i], "type")==0) - out += name->get_type_name(); + out += name.get_type_name(); else if (strcmp(CONF_METAVARIABLES[i], "name")==0) - out += name->to_cstr(); + out += name.to_cstr(); else if (strcmp(CONF_METAVARIABLES[i], "host")==0) out += host; else if (strcmp(CONF_METAVARIABLES[i], "num")==0) - out += name->get_id().c_str(); + out += name.get_id().c_str(); else if (strcmp(CONF_METAVARIABLES[i], "id")==0) - out += name->get_id().c_str(); + out += name.get_id().c_str(); else assert(0); // unreachable found_meta = true; diff --git a/src/common/config.h b/src/common/config.h index 2cf165dc91fd4..fd9d9ea31318d 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -21,6 +21,7 @@ extern struct ceph_file_layout g_default_file_layout; #include #include "common/ConfUtils.h" +#include "common/entity_name.h" #include "common/Mutex.h" #include "include/assert.h" #include "msg/msg_types.h" @@ -29,8 +30,6 @@ extern struct ceph_file_layout g_default_file_layout; #define OSD_REP_SPLAY 1 #define OSD_REP_CHAIN 2 -struct EntityName; - class config_option; extern const char *CEPH_CONF_FILE_DEFAULT; @@ -223,7 +222,7 @@ public: std::string auth_supported; double auth_mon_ticket_ttl; double auth_service_ticket_ttl; - EntityName *name; + EntityName name; double mon_client_hunt_interval; double mon_client_ping_interval; diff --git a/src/cosd.cc b/src/cosd.cc index 9542dbc11c05f..4e6fd77632ed9 100644 --- a/src/cosd.cc +++ b/src/cosd.cc @@ -107,7 +107,7 @@ int main(int argc, const char **argv) // whoami char *end; - const char *id = g_conf.name->get_id().c_str(); + const char *id = g_conf.name.get_id().c_str(); int whoami = strtol(id, &end, 10); if (*end || end == id || whoami < 0) { derr << "must specify '-i #' where # is the osd number" << dendl; diff --git a/src/librados.cc b/src/librados.cc index 042ddb8333cca..b7b8cbeb50133 100644 --- a/src/librados.cc +++ b/src/librados.cc @@ -659,7 +659,7 @@ connect() int err = monclient.authenticate(g_conf.client_mount_timeout); if (err) { - dout(0) << *g_conf.name << " authentication error " << strerror(-err) << dendl; + dout(0) << g_conf.name << " authentication error " << strerror(-err) << dendl; shutdown(); return err; } diff --git a/src/mds/Dumper.cc b/src/mds/Dumper.cc index 79d346de3c3de..53c71db348959 100644 --- a/src/mds/Dumper.cc +++ b/src/mds/Dumper.cc @@ -84,7 +84,7 @@ void Dumper::dump(const char *dump_file) { bool done = false; Cond cond; - int rank = strtol(g_conf.name->get_id().c_str(), 0, 0); + int rank = strtol(g_conf.name.get_id().c_str(), 0, 0); inodeno_t ino = MDS_INO_LOG_OFFSET + rank; lock.Lock(); diff --git a/src/mds/MDLog.cc b/src/mds/MDLog.cc index da871daf28747..993b7a24093ec 100644 --- a/src/mds/MDLog.cc +++ b/src/mds/MDLog.cc @@ -77,7 +77,7 @@ void MDLog::open_logger() // logger char name[80]; - snprintf(name, sizeof(name), "mds.%s.log", g_conf.name->get_id().c_str()); + snprintf(name, sizeof(name), "mds.%s.log", g_conf.name.get_id().c_str()); logger = new ProfLogger(name, &mdlog_logtype); logger_add(logger); } diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index c663d65c55a13..d9b0c1fdd1348 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -275,13 +275,13 @@ void MDS::open_logger() // open loggers char name[80]; snprintf(name, sizeof(name), "mds.%s.%llu.log", - g_conf.name->get_id().c_str(), + g_conf.name.get_id().c_str(), (unsigned long long) monc->get_global_id()); logger = new ProfLogger(name, (ProfLogType*)&mds_logtype); logger_add(logger); snprintf(name, sizeof(name), "mds.%s.%llu.mem.log", - g_conf.name->get_id().c_str(), + g_conf.name.get_id().c_str(), (unsigned long long) monc->get_global_id()); mlogger = new ProfLogger(name, (ProfLogType*)&mdm_logtype); logger_add(mlogger); diff --git a/src/mds/Server.cc b/src/mds/Server.cc index cc54d882af202..f3b339ed41cc1 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -80,7 +80,7 @@ void Server::open_logger() } char name[80]; - snprintf(name, sizeof(name), "mds.%s.server.log", g_conf.name->get_id().c_str()); + snprintf(name, sizeof(name), "mds.%s.server.log", g_conf.name.get_id().c_str()); logger = new ProfLogger(name, &mdserver_logtype); logger_add(logger); } diff --git a/src/mon/MonClient.cc b/src/mon/MonClient.cc index a1d6c43f58755..2470277556f9b 100644 --- a/src/mon/MonClient.cc +++ b/src/mon/MonClient.cc @@ -304,7 +304,7 @@ void MonClient::init() messenger->add_dispatcher_head(this); - entity_name = *g_conf.name; + entity_name = g_conf.name; Mutex::Locker l(monc_lock); timer.init(); diff --git a/src/mon/MonitorStore.cc b/src/mon/MonitorStore.cc index f397c634cadd9..7eedc554d1672 100644 --- a/src/mon/MonitorStore.cc +++ b/src/mon/MonitorStore.cc @@ -126,7 +126,7 @@ int MonitorStore::mkfs() } dout(0) << "created monfs at " << dir.c_str() << " for " - << g_conf.name->get_id() << dendl; + << g_conf.name.get_id() << dendl; return 0; } diff --git a/src/perfglue/heap_profiler.cc b/src/perfglue/heap_profiler.cc index 22d5b1570ad06..71ab991e28c7c 100644 --- a/src/perfglue/heap_profiler.cc +++ b/src/perfglue/heap_profiler.cc @@ -25,7 +25,7 @@ bool ceph_using_tcmalloc() void ceph_heap_profiler_init() { char profile_name[PATH_MAX]; - sprintf(profile_name, "%s/%s", g_conf.log_dir.c_str(), g_conf.name->to_cstr()); + sprintf(profile_name, "%s/%s", g_conf.log_dir.c_str(), g_conf.name.to_cstr()); char *val = new char[sizeof(int)*8+1]; sprintf(val, "%i", g_conf.profiler_allocation_interval); setenv("HEAP_PROFILE_ALLOCATION_INTERVAL", val, g_conf.profiler_allocation_interval); @@ -55,7 +55,7 @@ bool ceph_heap_profiler_running() void ceph_heap_profiler_start() { char profile_name[PATH_MAX]; - sprintf(profile_name, "%s/%s", g_conf.log_dir.c_str(), g_conf.name->to_cstr()); + sprintf(profile_name, "%s/%s", g_conf.log_dir.c_str(), g_conf.name.to_cstr()); char *val = new char[sizeof(int)*8+1]; sprintf(val, "%i", g_conf.profiler_allocation_interval); setenv("HEAP_PROFILE_ALLOCATION_INTERVAL", val, g_conf.profiler_allocation_interval); diff --git a/src/tools/common.cc b/src/tools/common.cc index 04d82b5d9f074..68fd9fa97d8e7 100644 --- a/src/tools/common.cc +++ b/src/tools/common.cc @@ -564,7 +564,7 @@ int ceph_tool_common_init(ceph_tool_mode_t mode) g.mc.init(); if (g.mc.authenticate() < 0) { - derr << "unable to authenticate as " << *g_conf.name << dendl; + derr << "unable to authenticate as " << g_conf.name << dendl; ceph_tool_messenger_shutdown(); ceph_tool_common_shutdown(); return 1;