]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: Remove SimpleMessenger::register_entity
authorGreg Farnum <gregory.farnum@dreamhost.com>
Thu, 1 Mar 2012 23:14:52 +0000 (15:14 -0800)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Fri, 2 Mar 2012 19:20:27 +0000 (11:20 -0800)
This function has been vestigial for a long time. Remove it and move
its remaining functionality into the constructor.
Update users to the new interface (this is remarkably easy and
simplifies the code).

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 files changed:
src/ceph_fuse.cc
src/ceph_mds.cc
src/ceph_mon.cc
src/ceph_osd.cc
src/ceph_syn.cc
src/libcephfs.cc
src/librados.cc
src/mds/Dumper.cc
src/mds/Resetter.cc
src/mon/MonClient.cc
src/msg/SimpleMessenger.cc
src/msg/SimpleMessenger.h
src/testmsgr.cc
src/tools/common.cc

index 140570c667d2dc2f05a64452cf57ee866864d2e1..2450eefc082d19e63fee20b4b9f6d25e71078d19 100644 (file)
@@ -90,8 +90,7 @@ int main(int argc, const char **argv, const char *envp[]) {
     return -1;
 
   // start up network
-  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context);
-  messenger->register_entity(entity_name_t::CLIENT());
+  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context, entity_name_t::CLIENT());
   Client *client = new Client(messenger, &mc);
   if (filer_flags) {
     client->set_filer_flags(filer_flags);
index 03eca5cd74270d4e811b302ab52d84db9041f074..f33b9bf007787caeb8f23f5e42492876fdcf31d0 100644 (file)
@@ -69,7 +69,8 @@ static int do_cmds_special_action(const std::string &action,
                                  const std::string &dump_file, int rank)
 {
   common_init_finish(g_ceph_context);
-  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context);
+  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context,
+                                                   entity_name_t::CLIENT());
   int r = messenger->bind(g_conf->public_addr, getpid());
   if (r < 0)
     return r;
@@ -229,7 +230,8 @@ int main(int argc, const char **argv)
 
   global_print_banner();
 
-  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context);
+  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context,
+                                                   entity_name_t::MDS(-1));
   messenger->set_cluster_protocol(CEPH_MDS_PROTOCOL);
 
   int r = messenger->bind(g_conf->public_addr, getpid());
@@ -238,7 +240,6 @@ int main(int argc, const char **argv)
 
   cout << "starting " << g_conf->name << " at " << messenger->get_ms_addr()
        << std::endl;
-  messenger->register_entity(entity_name_t::MDS(-1));
   uint64_t supported =
     CEPH_FEATURE_UID |
     CEPH_FEATURE_NOSRCADDR |
index 2f9d7d4f0af5a77c9746b4590d871c9510a905ad..c604015034a69cc4f9380e73a36311d6b5f90d91 100644 (file)
@@ -366,10 +366,10 @@ int main(int argc, const char **argv)
   }
 
   // bind
-  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context);
-  messenger->set_cluster_protocol(CEPH_MON_PROTOCOL);
-
   int rank = monmap.get_rank(g_conf->name.get_id());
+  SimpleMessenger *messenger = new SimpleMessenger(g_ceph_context,
+                                                   entity_name_t::MON(rank));
+  messenger->set_cluster_protocol(CEPH_MON_PROTOCOL);
 
   global_print_banner();
 
@@ -384,7 +384,6 @@ int main(int argc, const char **argv)
     return 1;
 
   // start monitor
-  messenger->register_entity(entity_name_t::MON(rank));
   messenger->set_default_send_priority(CEPH_MSG_PRIO_HIGH);
   mon = new Monitor(g_ceph_context, g_conf->name.get_id(), &store, messenger, &monmap);
 
index 701662b15a334e4aa61148b286f94b0861a280b5..8896d443f7381892053f218d680036e248b8dcb8 100644 (file)
@@ -300,10 +300,10 @@ int main(int argc, const char **argv)
         << TEXT_NORMAL << dendl;
   }
 
-  SimpleMessenger *client_messenger = new SimpleMessenger(g_ceph_context);
-  SimpleMessenger *cluster_messenger = new SimpleMessenger(g_ceph_context);
-  SimpleMessenger *messenger_hbin = new SimpleMessenger(g_ceph_context);
-  SimpleMessenger *messenger_hbout = new SimpleMessenger(g_ceph_context);
+  SimpleMessenger *client_messenger = new SimpleMessenger(g_ceph_context, entity_name_t::OSD(whoami));
+  SimpleMessenger *cluster_messenger = new SimpleMessenger(g_ceph_context, entity_name_t::OSD(whoami));
+  SimpleMessenger *messenger_hbin = new SimpleMessenger(g_ceph_context, entity_name_t::OSD(whoami));
+  SimpleMessenger *messenger_hbout = new SimpleMessenger(g_ceph_context, entity_name_t::OSD(whoami));
   cluster_messenger->set_cluster_protocol(CEPH_OSD_PROTOCOL);
   messenger_hbin->set_cluster_protocol(CEPH_OSD_PROTOCOL);
   messenger_hbout->set_cluster_protocol(CEPH_OSD_PROTOCOL);
@@ -332,11 +332,6 @@ int main(int argc, const char **argv)
                    "(no journal)" : g_conf->osd_journal)
        << std::endl;
 
-  client_messenger->register_entity(entity_name_t::OSD(whoami));
-  cluster_messenger->register_entity(entity_name_t::OSD(whoami));
-  messenger_hbin->register_entity(entity_name_t::OSD(whoami));
-  messenger_hbout->register_entity(entity_name_t::OSD(whoami));
-
   Throttle client_throttler(g_conf->osd_client_message_size_cap);
 
   uint64_t supported =
index 428724fc92c05e89923723a5a49b41b3ca77daf1..9d924adeaa075a4e26b6849dd9e42eb50c2d8a0f 100644 (file)
@@ -68,8 +68,7 @@ int main(int argc, const char **argv, char *envp[])
 
   cout << "ceph-syn: starting " << g_conf->num_client << " syn client(s)" << std::endl;
   for (int i=0; i<g_conf->num_client; i++) {
-    messengers[i] = new SimpleMessenger(g_ceph_context);
-    messengers[i]->register_entity(entity_name_t(entity_name_t::TYPE_CLIENT,-1));
+    messengers[i] = new SimpleMessenger(g_ceph_context, entity_name_t(entity_name_t::TYPE_CLIENT,-1));
     messengers[i]->bind(g_conf->public_addr, i * 1000000 + getpid());
     mclients[i] = new MonClient(g_ceph_context);
     mclients[i]->build_initial_monmap();
index 41d4c93953a820c03da4f144183943c926e92cb2..4ce2f1a0350c880eb05406b8cd978f8e22c4ba61 100644 (file)
@@ -77,13 +77,7 @@ public:
       goto fail;
 
     //network connection
-    messenger = new SimpleMessenger(cct);
-    if (!messenger->register_entity(entity_name_t::CLIENT())) {
-      messenger->destroy();
-      messenger = NULL;
-      ret = -1001;
-      goto fail;
-    }
+    messenger = new SimpleMessenger(cct, entity_name_t::CLIENT());
 
     //at last the client
     ret = -1002;
index 7262b759c94c4e251d6e67fa0ff2081e977d4799..2f6b3a79c60d83b39ee7c3b9dd28aead90db2e83 100644 (file)
@@ -937,7 +937,7 @@ int librados::RadosClient::connect()
     goto out;
 
   err = -ENOMEM;
-  messenger = new SimpleMessenger(cct);
+  messenger = new SimpleMessenger(cct, entity_name_t::CLIENT(-1));
   if (!messenger)
     goto out;
 
@@ -948,7 +948,6 @@ int librados::RadosClient::connect()
 
   ldout(cct, 1) << "starting msgr at " << messenger->get_ms_addr() << dendl;
 
-  messenger->register_entity(entity_name_t::CLIENT(-1));
   ldout(cct, 1) << "starting objecter" << dendl;
 
   err = -ENOMEM;
index 8b1f84929db4ba7b77a8195b3d9feeb4a5212fed..8556696c07151b8ac9f9e7c88069f684ddcd52bd 100644 (file)
@@ -55,7 +55,6 @@ void Dumper::init(int rank)
 
   objecter->set_client_incarnation(0);
 
-  messenger->register_entity(entity_name_t::CLIENT());
   messenger->add_dispatcher_head(this);
   messenger->start_with_nonce(getpid());
 
index bc308fe4a461f151f2c1bec077ecc93be87ee367..f5ba3cab40d7cbc866d27989d5fd9d278bcc93d6 100644 (file)
@@ -65,7 +65,6 @@ void Resetter::init(int rank)
 
   objecter->set_client_incarnation(0);
 
-  messenger->register_entity(entity_name_t::CLIENT());
   messenger->add_dispatcher_head(this);
   messenger->start_with_nonce(getpid());
 
index 38f07725d9cd3e42cdf0ed4544b154f1d8845b93..0648e405e2ea473becfbab69fb2636ee594d7a7f 100644 (file)
@@ -223,8 +223,7 @@ int MonClient::get_monmap_privately()
   bool temp_msgr = false;
   SimpleMessenger* smessenger = NULL;
   if (!messenger) {
-    messenger = smessenger = new SimpleMessenger(cct);
-    smessenger->register_entity(entity_name_t::CLIENT(-1));
+    messenger = smessenger = new SimpleMessenger(cct, entity_name_t::CLIENT(-1));
     messenger->add_dispatcher_head(this);
     smessenger->start_with_nonce(getpid());
     temp_msgr = true; 
index a4140544c9785173ea5e437b61adc575bd9eb14b..bf34c43af5d4b994d7bef31640ee2b81eca87012 100644 (file)
@@ -2468,38 +2468,6 @@ bool SimpleMessenger::verify_authorizer(Connection *con, int peer_type,
   return ms_deliver_verify_authorizer(con, peer_type, protocol, authorizer, authorizer_reply, isvalid);
 }
 
-
-
-/* register_entity 
- */
-bool SimpleMessenger::register_entity(entity_name_t name)
-{
-  ldout(cct,10) << "register_entity " << name << dendl;
-  lock.Lock();
-  
-  if (!destination_stopped) { //already have a working entity set
-    lock.Unlock();
-    return false;
-  }
-
-  // set it up
-  Messenger::set_myname(name);
-  // now i know my type.
-  if (my_type >= 0)
-    assert(my_type == name.type());
-  else
-    my_type = name.type();
-
-  destination_stopped = false;
-
-  ldout(cct,10) << "register_entity " << name << " at " << get_myaddr() << dendl;
-
-  msgr->init_local_pipe();
-
-  lock.Unlock();
-  return true;
-}
-
 void SimpleMessenger::submit_message(Message *m, Pipe *pipe)
 { 
   lock.Lock();
index 71f091edc0473263fb45112d1ae1df40dac13aa3..00ad33fb94bdff233ab507ee82626d1b4eac2025 100644 (file)
@@ -507,12 +507,12 @@ private:
   int get_proto_version(int peer_type, bool connect);
 
 public:
-  SimpleMessenger(CephContext *cct) :
-    Messenger(cct, entity_name_t()),
+  SimpleMessenger(CephContext *cct, entity_name_t name) :
+    Messenger(cct, name),
     accepter(this),
     lock("SimpleMessenger::lock"), started(false), did_bind(false),
     dispatch_throttler(cct->_conf->ms_dispatch_throttle_bytes), need_addr(true),
-    destination_stopped(true), my_type(-1),
+    destination_stopped(false), my_type(name.type()),
     global_seq_lock("SimpleMessenger::global_seq_lock"), global_seq(0),
     reaper_thread(this), reaper_started(false), reaper_stop(false), 
     dispatch_thread(this), msgr(this),
@@ -521,6 +521,7 @@ public:
   {
     // for local dmsg delivery
     dispatch_queue.local_pipe = new Pipe(this, Pipe::STATE_OPEN);
+    init_local_pipe();
   }
   ~SimpleMessenger() {
     delete dispatch_queue.local_pipe;
@@ -555,8 +556,6 @@ public:
   bool verify_authorizer(Connection *con, int peer_type, int protocol, bufferlist& auth, bufferlist& auth_reply,
                         bool& isvalid);
 
-  bool register_entity(entity_name_t addr);
-
   void submit_message(Message *m, const entity_addr_t& addr, int dest_type, bool lazy);
   void submit_message(Message *m, Pipe *pipe);
                      
index 313d4a5596a7e71eca80c05d0907c0b94186d5d1..ac7b6469a9d8879e2b5c5db00358e920b009629b 100644 (file)
@@ -96,13 +96,13 @@ int main(int argc, const char **argv, const char *envp[]) {
   std::string sss(ss.str());
   g_ceph_context->_conf->set_val("public_addr", sss.c_str());
   g_ceph_context->_conf->apply_changes(NULL);
-  SimpleMessenger *rank = new SimpleMessenger(g_ceph_context);
+  SimpleMessenger *rank = new SimpleMessenger(g_ceph_context,
+                                              entity_name_t::MON(whoami));
   int err = rank->bind(g_ceph_context->_conf->public_addr, getpid());
   if (err < 0)
     return 1;
 
   // start monitor
-  rank->register_entity(entity_name_t::MON(whoami));
   messenger = rank;
   messenger->set_default_send_priority(CEPH_MSG_PRIO_HIGH);
   messenger->add_dispatcher_head(&dispatcher);
index b473b4cb04d3523f71065d161f21f56201dbe3ee..9394d701ac2439df47a170ad9ef40b1331b267ae 100644 (file)
@@ -650,8 +650,7 @@ CephToolCtx* ceph_tool_common_init(ceph_tool_mode_t mode, bool concise)
   tok = tok_init(NULL);
 
   // start up network
-  messenger = new SimpleMessenger(g_ceph_context);
-  messenger->register_entity(entity_name_t::CLIENT());
+  messenger = new SimpleMessenger(g_ceph_context, entity_name_t::CLIENT());
   messenger->start_with_nonce(getpid());
   ctx->dispatcher = new Admin(ctx.get());
   messenger->add_dispatcher_head(ctx->dispatcher);