]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: clean out old crufty cluster shutdown code
authorSage Weil <sage@newdream.net>
Mon, 12 Oct 2009 17:47:11 +0000 (10:47 -0700)
committerSage Weil <sage@newdream.net>
Mon, 12 Oct 2009 18:38:56 +0000 (11:38 -0700)
The OSD directed shutdown should be adjusted anyway.

src/TODO
src/mon/MDSMonitor.cc
src/mon/Monitor.cc
src/mon/Monitor.h

index 4bb8573096b482fe5040d265edfe416bfef929f0..e6a2a1b01fc1f1bd652f29713ebb0eb853815009 100644 (file)
--- a/src/TODO
+++ b/src/TODO
@@ -189,6 +189,7 @@ mds
   - rename: importing inode... also journal imported client map?
 
 mon
+- how to tell osd to cleanly shut down
 - mds injectargs N should take mds# or id.  * should bcast to standy mds's.
 - paxos need to clean up old states.
   - default: simple max of (state count, min age), so that we have at least N hours of history, say?
index 4ba836803c33d0c9453a46c4983e3664e51960bf..c2098533b8b0824f97743f4ffef04b89e2c708c3 100644 (file)
@@ -361,13 +361,14 @@ void MDSMonitor::_updated(MMDSBeacon *m)
 void MDSMonitor::committed()
 {
   // hackish: did all mds's shut down?
+  /*
   if (mon->is_leader() &&
       g_conf.mon_stop_with_last_mds &&
       mdsmap.get_epoch() > 1 &&
       mdsmap.is_stopped()) 
     mon->messenger->send_message(new MGenericMessage(CEPH_MSG_SHUTDOWN), 
                                 mon->monmap->get_inst(mon->whoami));
-
+  */
   tick();
 }
 
index fad4df4077c6389ce1fcd231f5cc150ce31a39bc..e3e4c374dfa3529a3136f33ea9c7a6b96e66c8e0 100644 (file)
@@ -504,10 +504,6 @@ bool Monitor::ms_dispatch(Message *m)
       handle_mon_get_map((MMonGetMap*)m);
       break;
 
-    case CEPH_MSG_SHUTDOWN:
-      handle_shutdown(m);
-      break;
-      
     case MSG_MON_COMMAND:
       handle_command((MMonCommand*)m);
       break;
@@ -708,37 +704,6 @@ void Monitor::handle_mon_get_map(MMonGetMap *m)
 }
 
 
-void Monitor::handle_shutdown(Message *m)
-{
-  assert(m->get_source().is_mon());
-  if (m->get_source().num() == get_leader()) {
-    dout(1) << "shutdown from leader " << m->get_source() << dendl;
-
-    if (is_leader()) {
-      // stop osds.
-      set<int32_t> ls;
-      osdmon()->osdmap.get_all_osds(ls);
-      for (set<int32_t>::iterator it = ls.begin(); it != ls.end(); it++) {
-       if (osdmon()->osdmap.is_down(*it)) continue;
-       dout(10) << "sending shutdown to osd" << *it << dendl;
-       messenger->send_message(new PaxosServiceMessage(CEPH_MSG_SHUTDOWN, 0),
-                               osdmon()->osdmap.get_inst(*it));
-      }
-      osdmon()->mark_all_down();
-      
-      // monitors too.
-      for (unsigned i=0; i<monmap->size(); i++)
-       if ((int)i != whoami)
-         messenger->send_message(new PaxosServiceMessage(CEPH_MSG_SHUTDOWN, 0), 
-                                 monmap->get_inst(i));
-    }
-
-    shutdown();
-  } else {
-    dout(1) << "ignoring shutdown from non-leader " << m->get_source() << dendl;
-  }
-  delete m;
-}
 
 
 
index 1791da397eb4bbd24e26c8d856f1bd7db2fd1a35..0d0bbf574d57bfed20f14659397869b9cab70a44 100644 (file)
@@ -142,7 +142,6 @@ public:
   // messages
   void handle_subscribe(MMonSubscribe *m);
   void handle_mon_get_map(MMonGetMap *m);
-  void handle_shutdown(Message *m);
   void handle_command(class MMonCommand *m);
   void handle_observe(MMonObserve *m);
   void handle_class(MClass *m);