]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Split common_init_daemonize from common_init_finish
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Mon, 23 May 2011 23:29:49 +0000 (16:29 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Tue, 24 May 2011 00:07:04 +0000 (17:07 -0700)
Split off common_init_daemonize from common_init_finish. cfuse is a
daemon that calls common_init_finish, but handles daemonization itself.
This fixes cfuse.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
27 files changed:
src/cauthtool.cc
src/cconf.cc
src/cfuse.cc
src/cmds.cc
src/cmon.cc
src/common/common_init.cc
src/common/common_init.h
src/cosd.cc
src/csyn.cc
src/dumpjournal.cc
src/dupstore.cc
src/librados-config.cc
src/monmaptool.cc
src/osdmaptool.cc
src/rados.cc
src/rbd.cc
src/rgw/rgw_admin.cc
src/rgw/rgw_main.cc
src/streamtest.cc
src/test/TestDoutStreambuf.cc
src/test/TestSignalHandlers.cc
src/test/TestTimers.cc
src/test/test_mutate.cc
src/test_trans.cc
src/testmsgr.cc
src/tools/ceph.cc
src/tools/gceph.cc

index cefe95d5b49421ac32fb2dee55fb1df2356beab2..33718a280eaa816c4dced896c89482a210b89c28 100644 (file)
@@ -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);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
   EntityName ename(g_conf.name);
 
   const char *me = argv[0];
index 2c9325ef2eadfc23d38f3fed8c4e0bc286d8ba47..424ea14602855f97d7194a22f3c19cdc56af4c95 100644 (file)
@@ -122,7 +122,7 @@ int main(int argc, const char **argv)
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   std::string val;
   for (std::vector<const char*>::iterator i = args.begin(); i != args.end(); ) {
index 0a8adb9208a43d6b244e5c78135a7563f5312fb6..30e7c3b19ebd40eda2d00635f574230d737e223e 100644 (file)
@@ -111,7 +111,7 @@ int main(int argc, const char **argv, const char *envp[]) {
     childpid = fork();
   }
 
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   if (childpid == 0) {
     //cout << "child, mounting" << std::endl;
index 0b807ad076ddff911538472c923b3f10d350756c..e683753d9fd330572353863f399e02bf1ca56713 100644 (file)
@@ -164,7 +164,8 @@ int main(int argc, const char **argv)
 
     if (shadow == MDSMap::STATE_ONESHOT_REPLAY)
       g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_daemonize(&g_conf, 0);
+    common_init_finish(&g_conf);
     messenger->start();
 
     // start mds
index 9d1a59b145d1649f566d6b2e44fe1b8561303cdc..74608c433268c12d85af6df3fd1ffe59978e6596 100644 (file)
@@ -83,7 +83,7 @@ int main(int argc, const char **argv)
   // -- mkfs --
   if (mkfs) {
     g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_finish(&g_conf);
     if (g_conf.monmap.empty() || !osdmapfn)
       usage();
 
@@ -260,7 +260,8 @@ int main(int argc, const char **argv)
   messenger->set_default_send_priority(CEPH_MSG_PRIO_HIGH);
   Monitor *mon = new Monitor(g_conf.name.get_id(), &store, messenger, &monmap);
 
-  common_init_finish(&g_conf, 0);
+  common_init_daemonize(&g_conf, 0);
+  common_init_finish(&g_conf);
   messenger->start();
 
   uint64_t supported =
index debcf93460a53c066f4d3c52297cadd5182a1033..52b2efeb718c6de7f9b9487014613e3fdda5004b 100644 (file)
@@ -215,8 +215,12 @@ int common_init_shutdown_stderr(const md_config_t *conf)
   return 0;
 }
 
-static void common_init_daemonize(const md_config_t *conf, int flags)
+void common_init_daemonize(const md_config_t *conf, int flags)
 {
+  if (g_code_env != CODE_ENVIRONMENT_DAEMON)
+    return;
+  if (!conf->daemonize)
+    return;
   int num_threads = Thread::get_num_threads();
   if (num_threads > 1) {
     derr << "common_init_daemonize: BUG: there are " << num_threads - 1
@@ -285,12 +289,8 @@ static void common_init_daemonize(const md_config_t *conf, int flags)
   dout(1) << "finished common_init_daemonize" << dendl;
 }
 
-void common_init_finish(const md_config_t *conf, int flags)
+void common_init_finish(const md_config_t *conf)
 {
-  if ((g_code_env == CODE_ENVIRONMENT_DAEMON) && (g_conf.daemonize)) {
-    common_init_daemonize(conf, flags);
-  }
   ceph::crypto::init();
   keyring_init(&g_conf);
 }
-
index d16233057aef0559c729769406219ba1768196ea..07e24e96dbbe09a553e0df064eef0cf8a4ab1270 100644 (file)
@@ -30,6 +30,7 @@ void common_init(std::vector < const char* >& args,
               uint32_t module_type, code_environment_t code_env, int flags);
 void output_ceph_version();
 int common_init_shutdown_stderr(const md_config_t *conf);
-void common_init_finish(const md_config_t *conf, int flags);
+void common_init_daemonize(const md_config_t *conf, int flags);
+void common_init_finish(const md_config_t *conf);
 
 #endif
index 8a6da9ad730bb703162edb973c14f990696c2275..3183d6f72d7470b33a5107c0371786e063a01611 100644 (file)
@@ -84,8 +84,7 @@ int main(int argc, const char **argv)
   }
 
   if (dump_pg_log) {
-    g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_finish(&g_conf);
     bufferlist bl;
     int r = bl.read_file(dump_pg_log);
     if (r >= 0) {
@@ -123,8 +122,7 @@ int main(int argc, const char **argv)
   }
 
   if (mkfs) {
-    g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_finish(&g_conf);
     RotatingKeyRing rkeys(CEPH_ENTITY_TYPE_OSD, &g_keyring);
     MonClient mc(&rkeys);
     if (mc.build_initial_monmap() < 0)
@@ -144,8 +142,7 @@ int main(int argc, const char **argv)
     *_dout << " for osd" << whoami << " fsid " << mc.monmap.fsid << dendl;
   }
   if (mkkey) {
-    g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_finish(&g_conf);
     EntityName ename(g_conf.name);
     EntityAuth eauth;
     eauth.key.create(CEPH_CRYPTO_AES);
@@ -162,8 +159,7 @@ int main(int argc, const char **argv)
   if (mkfs || mkkey)
     exit(0);
   if (mkjournal) {
-    g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_finish(&g_conf);
     int err = OSD::mkjournal(g_conf.osd_data, g_conf.osd_journal);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error creating fresh journal " << g_conf.osd_journal
@@ -176,8 +172,7 @@ int main(int argc, const char **argv)
     exit(0);
   }
   if (flushjournal) {
-    g_conf.daemonize = false;
-    common_init_finish(&g_conf, 0);
+    common_init_finish(&g_conf);
     int err = OSD::flushjournal(g_conf.osd_data, g_conf.osd_journal);
     if (err < 0) {
       derr << TEXT_RED << " ** ERROR: error flushing journal " << g_conf.osd_journal
@@ -277,7 +272,8 @@ int main(int argc, const char **argv)
 
   // Set up crypto, daemonize, etc.
   // Leave stderr open in case we need to report errors.
-  common_init_finish(&g_conf, CINIT_FLAG_NO_CLOSE_STDERR);
+  common_init_daemonize(&g_conf, CINIT_FLAG_NO_CLOSE_STDERR);
+  common_init_finish(&g_conf);
   RotatingKeyRing rkeys(CEPH_ENTITY_TYPE_OSD, &g_keyring);
   MonClient mc(&rkeys);
   if (mc.build_initial_monmap() < 0)
index 782c0a79b7350c2548c675956b5c7c959378124e..8940b46d88adccb441fcae47c2caf12de3027389 100644 (file)
@@ -47,7 +47,7 @@ int main(int argc, const char **argv, char *envp[])
   argv_to_vec(argc, argv, args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   parse_syn_options(args);   // for SyntheticClient
 
index 6496a3da30d8e6ef5a5f03fb1a572ca0ac738666..b01389615cde3853025c20f35f5417fb5099e883 100644 (file)
@@ -82,7 +82,7 @@ int main(int argc, const char **argv, const char *envp[])
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   vec_to_argv(args, argc, argv);
 
index 654e3bbb38225898f2478800207d571b4ea3dccf..72efc895bd4084e5eaa6ea7dee0c9089e64ee7a5 100644 (file)
@@ -88,7 +88,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   // args
   if (args.size() != 4) 
index 8b9aa7615ffcc3bdc7b37854ec05b53255387d26..0c38ac2c962fb40aad6ce1a761a878d7525ea86a 100644 (file)
@@ -58,7 +58,7 @@ int main(int argc, const char **argv)
   }
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   FOR_EACH_ARG(args) {
     usage_exit();
index 00854e38afaa74a41aeb6f200df73e7f71538499..3204dd4711edd83fd506b0489642672ba52a9d1d 100644 (file)
@@ -51,7 +51,7 @@ int main(int argc, const char **argv)
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY,
              CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
   FOR_EACH_ARG(args) {
     if (CEPH_ARGPARSE_EQ("print", '\0')) {
       CEPH_ARGPARSE_SET_ARG_VAL(&print, OPT_BOOL);
index a0d0b42a760bb8dc68f73cefb4667e338571a14f..211fde396842c8f6da80b0519b34cc9fbd88c268 100644 (file)
@@ -51,7 +51,7 @@ int main(int argc, const char **argv)
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY,
              CINIT_FLAG_NO_DEFAULT_CONFIG_FILE);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   const char *me = argv[0];
 
index a9591a3160fb036a94916e2fc5a3facffcc3bac7..1915173edcbdce25e75f0fbd1f6015cc5854382d 100644 (file)
@@ -659,7 +659,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   std::map < std::string, std::string > opts;
   std::vector<const char*>::iterator i;
index 855dd023c7660056399a932a4342cd9452ede6aa..1c05527cbf5b14a4255548caea31c5138dd9820c 100644 (file)
@@ -825,7 +825,7 @@ int main(int argc, const char **argv)
 
   int opt_cmd = OPT_NO_CMD;
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   const char *poolname = NULL;
   uint64_t size = 0;
index 1944c2f83afda36ef652e38b9665706307448e74..655a41621084f8c4249ff5eb19bbb640a86d8a5b 100644 (file)
@@ -176,7 +176,7 @@ int main(int argc, char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   const char *user_id = 0;
   const char *access_key = 0;
index e3948e58dde518b3305483ba195c0273c1f3e6c3..1246df892c9496e34f8094c91e7f5d1bb2606e02 100644 (file)
@@ -75,7 +75,7 @@ int main(int argc, const char **argv)
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   if (!RGWAccess::init_storage_provider("rados", &g_conf)) {
     derr << "Couldn't init storage provider (RADOS)" << dendl;
index 08c8ab957aea69481470572eaf87438942342282..99371b3015f318ebc977e2be5f3ce54fddda2969 100644 (file)
@@ -97,7 +97,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   // args
   if (args.size() < 3) return -1;
index 01a8a6f18b8694867cab8275c7458e34e5f4b042..184cc94eab3673272b3c4c6b9cfd5c1105ac53cc 100644 (file)
@@ -38,7 +38,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   DoutStreambuf<char> *dos = new DoutStreambuf<char>();
 
index c117b00a5705421142ffb414f59ef83b2827214d..4e4ccce05dc8a497a3c65947af693e820eab63b4 100644 (file)
@@ -95,7 +95,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   DEFINE_CONF_VARS(usage);
   FOR_EACH_ARG(args) {
index 63006ff3f3c344269471b977a548124d126574d0..e804a4a02258715ab8e09fccf54848237696d55d 100644 (file)
@@ -256,7 +256,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   int ret;
   Mutex safe_timer_lock("safe_timer_lock");
index aeec5416c86e0234f0028b24944d0e35ed3c6342..26fb1e6b87185fe910cf0daf06652a53686362be 100644 (file)
@@ -44,7 +44,7 @@ int main(int argc, const char **argv)
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   string val;
   string oid("test_object");
index 205d2d424bea8837032fdcb6a3703fbcd1dabc6b..601aedf2862d1d13415de2e316ca64f8e719ff74 100644 (file)
@@ -36,7 +36,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   // args
   if (args.size() < 2) return -1;
index 5e722a5b492d8d6e5351b10e38eea7fa492f0770..9906c5bed0103bdfaf3c1eac53b35616ab8e483f 100644 (file)
@@ -71,7 +71,7 @@ int main(int argc, const char **argv, const char *envp[]) {
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   vec_to_argv(args, argc, argv);
 
index ed1758a10a9ce7d9817bce48aec30f23b649dc21..947c8ce95313f2f4e840a22758e415ceaf97a758 100644 (file)
@@ -116,7 +116,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   vec_to_argv(args, argc, argv);
 
index 5cc249cb70321c4f656d15afd168e154997e4f3f..c4df25a5d7815a1f0a8c16d891faa5be24f7cbe2 100644 (file)
@@ -76,7 +76,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
-  common_init_finish(&g_conf, 0);
+  common_init_finish(&g_conf);
 
   vec_to_argv(args, argc, argv);