From 3b6876a048a607462eacb5f4d974dbb78e850e6b Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Thu, 30 Apr 2009 17:08:00 -0700 Subject: [PATCH] c3: mount through MonClient --- src/s3/c3.cc | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/s3/c3.cc b/src/s3/c3.cc index 04d32bd166bea..4b03238cf3399 100644 --- a/src/s3/c3.cc +++ b/src/s3/c3.cc @@ -116,24 +116,25 @@ public: bool C3::init() { - mc = new MonClient(&monmap, messenger); + mc = new MonClient(&monmap, NULL); - MonMap *mm = mc->get_monmap(); // get monmap - if (!mm) + if (!mc->get_monmap()) return false; rank.bind(); cout << "starting c3." << g_conf.id << " at " << rank.get_rank_addr() - << " fsid " << mm->get_fsid() + << " fsid " << monmap.get_fsid() << std::endl; - messenger = rank.register_entity(entity_name_t::MDS(-1)); + messenger = rank.register_entity(entity_name_t::CLIENT(-1)); assert_warn(messenger); if (!messenger) return false; + mc->set_messenger(messenger); + rank.set_policy(entity_name_t::TYPE_MON, Rank::Policy::lossy_fail_after(1.0)); rank.set_policy(entity_name_t::TYPE_MDS, Rank::Policy::lossless()); rank.set_policy(entity_name_t::TYPE_OSD, Rank::Policy::lossless()); @@ -141,16 +142,20 @@ bool C3::init() rank.start(1); - objecter = new Objecter(messenger, mm, &osdmap, lock); + mc->mount(g_conf.client_mount_timeout); + + objecter = new Objecter(messenger, &monmap, &osdmap, lock); if (!objecter) return false; lock.Lock(); - messenger->set_dispatcher(this); + mc->link_dispatcher(this); objecter->set_client_incarnation(0); objecter->init(); + objecter->set_client_incarnation(0); + lock.Unlock(); return true; @@ -237,7 +242,7 @@ void C3::write() char buf[len]; for (size_t i=0; i