]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cfuse: set proper defaults
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Mon, 14 Mar 2011 14:24:32 +0000 (07:24 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Mon, 14 Mar 2011 22:45:05 +0000 (15:45 -0700)
Since cfuse usually runs as a nonprivileged user, its defaults must be a
little different from those of the other daemons. Add a flag to
common_init which can be used to set unprivileged daemon defaults.

SimpleMessenger::start() now just takes a boolean telling it whether to
daemonize. It doesn't need to check global variables or other arguments;
it just daemonizes if you tell it to; otherwise not.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
31 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/libceph.cc
src/librados-config.cc
src/librados.cc
src/mds/Dumper.cc
src/mon/MonClient.cc
src/msg/SimpleMessenger.cc
src/msg/SimpleMessenger.h
src/osdmaptool.cc
src/rados.cc
src/rbd.cc
src/rgw/rgw_admin.cc
src/streamtest.cc
src/test/TestDoutStreambuf.cc
src/test/TestSignalHandlers.cc
src/test/TestTimers.cc
src/test_trans.cc
src/testmsgr.cc
src/tools/ceph.cc
src/tools/common.cc
src/tools/gceph.cc

index 7d42fff1a3fa3f5552e82f1476043df2f172cbc5..133e4ddc87da621e3694a857a983f423b4fcb452 100644 (file)
@@ -53,7 +53,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
   DEFINE_CONF_VARS(usage);
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   EntityName ename(*g_conf.name);
 
   const char *me = argv[0];
index bf0857114c58fd2eecdd1020f735c66cb3c6f69c..7b8a18b1e1cad0a350c121f90c8b7e4144d9047d 100644 (file)
@@ -145,7 +145,7 @@ int main(int argc, const char **argv)
     }
   }
 
-  common_init(nargs, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(nargs, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   if (do_help) {
     usage();
index aa146ebf41b98057cbb4cac09f05139e3bfee01e..41341ea352513f6799daf3e0f76c63ec3a561f45 100644 (file)
@@ -53,10 +53,8 @@ int main(int argc, const char **argv, const char *envp[]) {
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
 
-  g_conf.daemonize = true;
-  g_conf.pid_file = 0;
-  g_conf.log_per_instance = true;
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_DAEMON,
+             CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS);
   keyring_init(&g_conf);
 
   vector<const char*> nargs;
@@ -102,12 +100,9 @@ int main(int argc, const char **argv, const char *envp[]) {
   }
 
   // we need to handle the forking ourselves.
-  bool daemonize = g_conf.daemonize;
-  g_conf.daemonize = false;
-
   int fd[2] = {0, 0};  // parent's, child's
   pid_t childpid = 0;
-  if (daemonize) {
+  if (g_conf.daemonize) {
     int r = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
     if (r < 0) {
       cerr << "cfuse[" << getpid() << "]: unable to create socketpair: " << strerror(errno) << std::endl;
@@ -123,7 +118,7 @@ int main(int argc, const char **argv, const char *envp[]) {
 
     cout << "cfuse[" << getpid() << "]: starting ceph client" << std::endl;
 
-    messenger->start();
+    messenger->start(false); // Do not daemonize here
 
     // start client
     client->init();
@@ -151,7 +146,7 @@ int main(int argc, const char **argv, const char *envp[]) {
     // wait for messenger to finish
     messenger->wait();
 
-    if (daemonize) {
+    if (g_conf.daemonize) {
       //cout << "child signalling parent with " << r << std::endl;
       int32_t out = r;
       int ret = safe_write(fd[1], &out, sizeof(out));
index 6e5d837b7fceede89ea7768cf30eea96a2356a1e..f920cd14391bc32319c6e03839db9d245d401724 100644 (file)
@@ -65,7 +65,7 @@ int main(int argc, const char **argv)
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
 
-  common_init(args, CEPH_ENTITY_TYPE_MDS, CODE_ENVIRONMENT_DAEMON);
+  common_init(args, CEPH_ENTITY_TYPE_MDS, CODE_ENVIRONMENT_DAEMON, 0);
   keyring_init(&g_conf);
 
   // mds specific args
@@ -153,7 +153,7 @@ int main(int argc, const char **argv)
     messenger->set_policy(entity_name_t::TYPE_CLIENT,
                           SimpleMessenger::Policy::stateful_server(supported, 0));
 
-    messenger->start();
+    messenger->start(g_conf.daemonize);
 
     // start mds
     MDS *mds = new MDS(g_conf.name->get_id().c_str(), messenger, &mc);
index 06c40e8e32f65adb42d5afc3764f5bdd49c1699a..56edc862c6022ec5104e7fd34cb5b223665c6654 100644 (file)
@@ -61,7 +61,7 @@ int main(int argc, const char **argv)
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
 
-  common_init(args, CEPH_ENTITY_TYPE_MON, CODE_ENVIRONMENT_DAEMON);
+  common_init(args, CEPH_ENTITY_TYPE_MON, CODE_ENVIRONMENT_DAEMON, 0);
   keyring_init(&g_conf);
 
   FOR_EACH_ARG(args) {
@@ -216,7 +216,7 @@ 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);
 
-  messenger->start();  // may daemonize
+  messenger->start(g_conf.daemonize);
 
   uint64_t supported =
     CEPH_FEATURE_UID |
index 8a7e5701e1aa190328dd25285cf5748402a60fe9..ccb4216d5f72353e4522921447f8b663a0ff38cb 100644 (file)
@@ -86,7 +86,7 @@ int keyring_init(md_config_t *conf)
 }
 
 md_config_t *common_preinit(const CephInitParameters &iparams,
-                           enum code_environment_t code_env)
+                         enum code_environment_t code_env, int flags)
 {
   // set code environment
   g_code_env = code_env;
@@ -102,8 +102,10 @@ md_config_t *common_preinit(const CephInitParameters &iparams,
   switch (code_env) {
     case CODE_ENVIRONMENT_DAEMON:
       conf->daemonize = true;
-      conf->log_dir = strdup("/var/log/ceph");
-      conf->pid_file = strdup("/var/run/ceph/$type.$id.pid");
+      if (!(flags & CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS)) {
+       conf->log_dir = strdup("/var/log/ceph");
+       conf->pid_file = strdup("/var/run/ceph/$type.$id.pid");
+      }
       conf->log_to_stderr = LOG_TO_STDERR_SOME;
       break;
     default:
@@ -115,11 +117,11 @@ md_config_t *common_preinit(const CephInitParameters &iparams,
 }
 
 void common_init(std::vector < const char* >& args,
-              uint32_t module_type, code_environment_t code_env)
+              uint32_t module_type, code_environment_t code_env, int flags)
 {
   CephInitParameters iparams =
     ceph_argparse_early_args(args, module_type);
-  md_config_t *conf = common_preinit(iparams, code_env);
+  md_config_t *conf = common_preinit(iparams, code_env, flags);
 
   int ret = conf->parse_config_files(iparams.get_conf_files());
   if (ret == -EDOM) {
index 2980d9f8630243c70e6954610dbde0ab00e99b68..dddf030ea806d719a3435d0c23d0054918c6bf8c 100644 (file)
 class md_config_t;
 class CephInitParameters;
 
+enum common_init_flags_t {
+  // Set up defaults that make sense for an unprivileged deamon
+  CINIT_FLAG_UNPRIVILEGED_DAEMON_DEFAULTS = 0x1,
+};
+
 int keyring_init(md_config_t *conf);
 md_config_t *common_preinit(const CephInitParameters &iparams,
-                           enum code_environment_t code_env);
+                           enum code_environment_t code_env, int flags);
 void common_init(std::vector < const char* >& args,
-              uint32_t module_type, code_environment_t code_env);
+              uint32_t module_type, code_environment_t code_env, int flags);
 
 #endif
index d5827cd2249c26b89ae59a43f973a6be5106d8d2..02b3bff5168d42267d1c0917923fbbce7a551a94 100644 (file)
@@ -55,7 +55,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
   vector<const char *>::iterator args_iter;
 
-  common_init(args, CEPH_ENTITY_TYPE_OSD, CODE_ENVIRONMENT_DAEMON);
+  common_init(args, CEPH_ENTITY_TYPE_OSD, CODE_ENVIRONMENT_DAEMON, 0);
   
   ceph_heap_profiler_init();
 
@@ -269,9 +269,9 @@ int main(int argc, const char **argv)
     return 1;
   }
 
-  client_messenger->start();
-  messenger_hb->start(true);  // only need to daemon() once
-  cluster_messenger->start(true);
+  client_messenger->start(g_conf.daemonize);
+  messenger_hb->start(false);  // do not daemonize (only need to daemonize once)
+  cluster_messenger->start(false); // do not daemonize (only need to daemonize once)
 
   // start osd
   err = osd->init();
index 2e73777b4646f15202a67622e5107127e0169fae..e18d9d2276961ce5201d85c3ccd68765086bd87a 100644 (file)
@@ -46,7 +46,7 @@ int main(int argc, const char **argv, char *envp[])
   vector<const char*> args;
   argv_to_vec(argc, argv, args);
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   parse_syn_options(args);   // for SyntheticClient
@@ -75,7 +75,7 @@ int main(int argc, const char **argv, char *envp[])
     SyntheticClient *syn = new SyntheticClient(client);
     clients.push_back(client);
     synclients.push_back(syn);
-    messengers[i]->start();
+    messengers[i]->start(false); // do not daemonize
   }
 
   for (list<SyntheticClient*>::iterator p = synclients.begin(); 
index bba38f663f7304bfb4ec6b934c30aabbbc9af002..694cb8465233cd543cb8ebd3bfa57898f6a240f7 100644 (file)
@@ -81,7 +81,7 @@ int main(int argc, const char **argv, const char *envp[])
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   vec_to_argv(args, argc, argv);
 
@@ -95,8 +95,7 @@ int main(int argc, const char **argv, const char *envp[])
   // start up network
   SimpleMessenger *messenger = new SimpleMessenger();
   messenger->bind();
-  g_conf.daemonize = false; // not us!
-  messenger->start();
+  messenger->start(false); // do not daemonize
   messenger->register_entity(entity_name_t::CLIENT());
   messenger->add_dispatcher_head(&dispatcher);
 
index ff45ca7673af67993c5d98ad35388e420f96681d..37f8c3aa6863804991f1096cec51502f14380c16 100644 (file)
@@ -88,7 +88,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   // args
   if (args.size() != 4) 
index d0bdb5c627645a174049b6557e1b340ce49973a4..c722f9e9701b566a27c834b543bfd2112b13da00 100644 (file)
@@ -45,7 +45,7 @@ extern "C" int ceph_initialize(int argc, const char **argv)
     argv_to_vec(argc, argv, args);
     // The libceph API needs to be fixed so that we don't have to call
     // common_init here. Libraries should never call common_init.
-    common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_LIBRARY);
+    common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_LIBRARY, 0);
     keyring_init(&g_conf);
 
     //monmap
@@ -61,7 +61,7 @@ extern "C" int ceph_initialize(int argc, const char **argv)
     //at last the client
     client = new Client(messenger, monclient);
 
-    messenger->start();
+    messenger->start(false); // do not daemonize
 
     client->init();
   }
index 0b2b438c452b542ae53addaeb12ca5a499ca1165..cc07d7d738cb7549c1237c8af03b57b07ce83a52 100644 (file)
@@ -57,7 +57,7 @@ int main(int argc, const char **argv)
       ++i;
   }
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   FOR_EACH_ARG(args) {
     usage_exit();
index 8627288f8fb9dbd7e2382609d8feb4be359c26a9..dc509adf5a11af1867707a0f98f10bb08bf7d749 100644 (file)
@@ -567,7 +567,7 @@ connect()
 
   messenger->add_dispatcher_head(this);
 
-  messenger->start(1);
+  messenger->start(false); // do not daemonize
   messenger->add_dispatcher_head(this);
 
   dout(1) << "setting wanted keys" << dendl;
@@ -2595,7 +2595,7 @@ extern "C" int rados_create(rados_t *pcluster, const char * const id)
 
     // TODO: store this conf pointer in the RadosClient and use it as our
     // configuration
-    md_config_t *conf = common_preinit(iparams, CODE_ENVIRONMENT_LIBRARY);
+    md_config_t *conf = common_preinit(iparams, CODE_ENVIRONMENT_LIBRARY, 0);
     conf->parse_env(); // environment variables override
 
     ++rados_initialized;
index 2145dfe627543c0d6c2d941cce07ccaab11e91da..3b0902a4008edf900212ed22db8149b1ece5f322 100644 (file)
@@ -56,7 +56,7 @@ void Dumper::init(int rank)
 
   messenger->register_entity(entity_name_t::CLIENT());
   messenger->add_dispatcher_head(this);
-  messenger->start(true);
+  messenger->start(false); // do not daemonize
 
   monc->set_want_keys(CEPH_ENTITY_TYPE_MON|CEPH_ENTITY_TYPE_OSD|CEPH_ENTITY_TYPE_MDS);
   monc->set_messenger(messenger);
index 73f4a26687030e1d723d15894b03d76867b29998..2946ef2ac9a86712d47f8c3fea0a29e8b4608957 100644 (file)
@@ -173,7 +173,7 @@ int MonClient::get_monmap_privately()
     messenger = smessenger = new SimpleMessenger();
     smessenger->register_entity(entity_name_t::CLIENT(-1));
     messenger->add_dispatcher_head(this);
-    smessenger->start(true);  // do not daemonize!
+    smessenger->start(false);  // do not daemonize!
     temp_msgr = true; 
   }
   
index 23e6b29dce0b13a3457a9a8dc379e26244f734a0..357ba57d1a7e7b7f1f293f0c5c67bf5e73588d15 100644 (file)
@@ -2406,7 +2406,7 @@ int SimpleMessenger::write_pid_file(int pid)
   return 0;
 }
 
-int SimpleMessenger::start(bool nodaemon)
+int SimpleMessenger::start(bool daemonize)
 {
   // register at least one entity, first!
   assert(my_type >= 0); 
@@ -2426,7 +2426,7 @@ int SimpleMessenger::start(bool nodaemon)
   lock.Unlock();
 
   // daemonize?
-  if (g_conf.daemonize && !nodaemon) {
+  if (daemonize) {
     int num_threads = Thread::get_num_threads();
     if (num_threads > 1) {
       derr << "messenger.start BUG: there are " << num_threads - 1
index 1e2eaa04792163524dba7f55e059b81d1f6d77ce..4c57ecc95892ed3322109cfb188a843c829d27e8 100644 (file)
@@ -562,7 +562,7 @@ public:
 
   int bind(entity_addr_t& bind_addr, int64_t force_nonce = -1);
   int bind(int64_t force_nonce = -1) { return bind(g_conf.public_addr, force_nonce); }
-  int start(bool nodaemon = false);
+  int start(bool daemonize);
   void wait();
 
   int write_pid_file(int pid);
index 3f3871d445a858ae2908c59113802321817ab0b7..05b164e44c866db65b0920a8f7798e48abb47d5a 100644 (file)
@@ -49,7 +49,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
   DEFINE_CONF_VARS(usage);
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   const char *me = argv[0];
 
index 857a837293d15566b958a7479db3aa47158ac068..30843e7613874055e6129d2add8bd414d0b26cbe 100644 (file)
@@ -98,7 +98,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   vector<const char*> nargs;
index ddafb0b778cf55f07376228b77f4f4bfb1b0945c..ebc37a196f055d6e5c71fc0123d92604c9746e28 100644 (file)
@@ -582,7 +582,7 @@ int main(int argc, const char **argv)
   env_to_vec(args);
 
   int opt_cmd = OPT_NO_CMD;
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   const char *poolname = NULL;
index 34d3244ff4c273ceb9fa83941ed6dc66926a25f6..e029e7fa8b56df30c6af8c16ea898ac18dd2e118 100644 (file)
@@ -91,7 +91,7 @@ int main(int argc, char **argv)
   argv_to_vec(argc, (const char **)argv, args);
   env_to_vec(args);
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   const char *user_id = 0;
index 367dc18fe5fb2dfea8ce36e2c0622e26d96f779b..109acc4af18410b40acb53b9ac1be5b6567a3b27 100644 (file)
@@ -97,7 +97,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   // args
index ed7cd402e97caad53332159c5fdc7b72fccf5e1b..5aa3e5852b951f5b1134ba415bf2d7bdb28dc9a1 100644 (file)
@@ -36,7 +36,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   DoutStreambuf<char> *dos = new DoutStreambuf<char>();
 
index 64a24fd187c026c485eb2f8d0530bac7a2364168..2159fabe6d53414b449487c1b23a742ad13f7da3 100644 (file)
@@ -94,7 +94,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   DEFINE_CONF_VARS(usage);
   FOR_EACH_ARG(args) {
index 1dfb873bc158877af760ccec4d5514c59603385c..f3c9d78a786057941824a18c4dd26868fc3c40cb 100644 (file)
@@ -255,7 +255,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   int ret;
   Mutex safe_timer_lock("safe_timer_lock");
index 706255efc27e873d601c0aa062d7c2c3ca1a7aa8..263cef4a53760e11090c399e8e3b4760f9f9051d 100644 (file)
@@ -36,7 +36,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   // args
   if (args.size() < 2) return -1;
index 34e58db0c3add306d125f3a0704ae3bfa44c8f56..8834d2c276b7c3cada3806e8d284a9546a26edb2 100644 (file)
@@ -70,7 +70,7 @@ int main(int argc, const char **argv, const char *envp[]) {
   argv_to_vec(argc, argv, args);
   env_to_vec(args);
 
-  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
 
   vec_to_argv(args, argc, argv);
 
@@ -96,7 +96,7 @@ int main(int argc, const char **argv, const char *envp[]) {
   messenger->set_default_send_priority(CEPH_MSG_PRIO_HIGH);
   messenger->add_dispatcher_head(&dispatcher);
 
-  rank->start();
+  rank->start(false); // do not daemonize
   
   int isend = 0;
   if (whoami == 0)
index 6e52a960d0e6a8e8926dfb7781c28776c0e8d0d0..e024a07f10fcbed67f661fa02837c9ffdf24b501 100644 (file)
@@ -114,7 +114,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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   vec_to_argv(args, argc, argv);
index 66356f05d35cbe7b1da5f42fc79cd16d42cc0dad..6579843ced7f6a378100813c6b9a62bd5b6b87ed 100644 (file)
@@ -553,7 +553,7 @@ int ceph_tool_common_init(ceph_tool_mode_t mode)
   // start up network
   messenger = new SimpleMessenger();
   messenger->register_entity(entity_name_t::CLIENT());
-  messenger->start();
+  messenger->start(false); // do not daemonize
   messenger->add_dispatcher_head(&dispatcher);
 
   g.lock.Lock();
index a37a729eb170242defc90c83f7532dc2f80502ea..105de642bfee591aff85c3d11c15d2a274f983d4 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);
+  common_init(args, CEPH_ENTITY_TYPE_CLIENT, CODE_ENVIRONMENT_UTILITY, 0);
   keyring_init(&g_conf);
 
   vec_to_argv(args, argc, argv);