From: Sage Weil Date: Sat, 10 Oct 2009 04:50:51 +0000 (-0700) Subject: osd: stop using MOSDGetMap X-Git-Tag: v0.17~87 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=78759f93da6a4fa3e22934d218c30126e752170c;p=ceph.git osd: stop using MOSDGetMap We should use the monclient and subscriptions instead. --- diff --git a/src/dumpjournal.cc b/src/dumpjournal.cc index 447aaa689971b..707e8f651c4b7 100644 --- a/src/dumpjournal.cc +++ b/src/dumpjournal.cc @@ -23,7 +23,6 @@ using namespace std; #include "mon/MonClient.h" #include "msg/SimpleMessenger.h" #include "osd/OSDMap.h" -#include "messages/MOSDGetMap.h" #include "osdc/Objecter.h" #include "osdc/Journaler.h" #include "mds/mdstypes.h" diff --git a/src/librados.cc b/src/librados.cc index f9469f41b27fa..fd36fe7771a84 100644 --- a/src/librados.cc +++ b/src/librados.cc @@ -37,7 +37,6 @@ using namespace std; #include "osdc/Objecter.h" -#include "messages/MOSDGetMap.h" #include "messages/MClientMount.h" #include "messages/MClientMountAck.h" diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 110270d7cebc8..914cc11480aa7 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -54,7 +54,6 @@ #include "messages/MGenericMessage.h" #include "messages/MOSDMap.h" -#include "messages/MOSDGetMap.h" #include "messages/MClientRequest.h" #include "messages/MClientRequestForward.h" @@ -642,12 +641,6 @@ void MDS::handle_mds_map(MMDSMap *m) // update messenger. dout(1) << "handle_mds_map i am now mds" << whoami << "." << incarnation << dendl; messenger->set_myname(entity_name_t::MDS(whoami)); - - // do i need an osdmap? - if (oldwhoami < 0) { - // we need an osdmap too. - monc->send_mon_message(new MOSDGetMap(monc->get_fsid(), 0)); - } } // tell objecter my incarnation diff --git a/src/mon/MonClient.h b/src/mon/MonClient.h index 802b2839ce9e6..0604ad8ca4726 100644 --- a/src/mon/MonClient.h +++ b/src/mon/MonClient.h @@ -103,7 +103,8 @@ private: sub_have[what].have = have; sub_have[what].onetime = true; return true; - } + } else + sub_have[what].have = have; return false; } void _sub_got(nstring what, version_t have) { diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 2f72e3d513a19..3b7a99568f47e 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -53,7 +53,6 @@ #include "messages/MOSDPGTemp.h" #include "messages/MOSDMap.h" -#include "messages/MOSDGetMap.h" #include "messages/MOSDPGNotify.h" #include "messages/MOSDPGQuery.h" #include "messages/MOSDPGLog.h" @@ -1141,7 +1140,7 @@ void OSD::heartbeat() if (now - last_mon_heartbeat > g_conf.osd_mon_heartbeat_interval) { last_mon_heartbeat = now; dout(10) << "i have no heartbeat peers; checking mon for new map" << dendl; - monc->send_mon_message(new MOSDGetMap(monc->get_fsid(), osdmap->get_epoch()+1)); + monc->sub_want_onetime("osdmap", osdmap->get_epoch()); } } @@ -1668,10 +1667,9 @@ void OSD::handle_scrub(MOSDScrub *m) void OSD::wait_for_new_map(Message *m) { - // ask - if (waiting_for_osdmap.empty()) { - monc->send_mon_message(new MOSDGetMap(monc->get_fsid(), osdmap->get_epoch()+1)); - } + // ask? + if (waiting_for_osdmap.empty()) + monc->sub_want_onetime("osdmap", osdmap->get_epoch()); waiting_for_osdmap.push_back(m); } @@ -1890,7 +1888,7 @@ void OSD::handle_osd_map(MOSDMap *m) } else { dout(10) << "handle_osd_map missing epoch " << cur+1 << dendl; - monc->send_mon_message(new MOSDGetMap(monc->get_fsid(), cur+1)); + monc->sub_want_onetime("osdmap", cur); break; } diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 619e2a5a331b3..3b3a6306bd06f 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -25,7 +25,6 @@ #include "messages/MOSDOp.h" #include "messages/MOSDOpReply.h" #include "messages/MOSDMap.h" -#include "messages/MOSDGetMap.h" #include "messages/MPoolOp.h" #include "messages/MPoolOpReply.h" @@ -141,7 +140,7 @@ void Objecter::handle_osd_map(MOSDMap *m) } else { dout(3) << "handle_osd_map requesting missing epoch " << osdmap->get_epoch()+1 << dendl; - monc->send_mon_message(new MOSDGetMap(monc->get_fsid(), osdmap->get_epoch()+1)); + monc->sub_want_onetime("osdmap", osdmap->get_epoch()); break; } @@ -173,7 +172,7 @@ void Objecter::handle_osd_map(MOSDMap *m) scan_pgs(changed_pgs); } else { dout(3) << "handle_osd_map hmm, i want a full map, requesting" << dendl; - monc->send_mon_message(new MOSDGetMap(monc->get_fsid(), 0)); + monc->sub_want_onetime("osdmap", 0); } }