]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fix leak of MOSDMarkMeDown
authorSage Weil <sage@inktank.com>
Fri, 31 May 2013 05:02:07 +0000 (22:02 -0700)
committerSage Weil <sage@inktank.com>
Fri, 31 May 2013 21:48:32 +0000 (14:48 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc

index 8993a1100f5f3a9fa96259944695d308b93a4ece..d7d56c3162fb250f94250d3b1025838ec467e4ee 100644 (file)
@@ -3755,6 +3755,7 @@ bool OSD::ms_dispatch(Message *m)
 {
   if (m->get_type() == MSG_OSD_MARK_ME_DOWN) {
     service.got_stop_ack();
+    m->put();
     return true;
   }
 
@@ -4218,7 +4219,8 @@ void OSDService::dec_scrubs_active()
   sched_scrub_lock.Unlock();
 }
 
-bool OSDService::prepare_to_stop() {
+bool OSDService::prepare_to_stop()
+{
   Mutex::Locker l(is_stopping_lock);
   if (state != NOT_STOPPING)
     return false;
@@ -4242,12 +4244,15 @@ bool OSDService::prepare_to_stop() {
   return true;
 }
 
-void OSDService::got_stop_ack() {
+void OSDService::got_stop_ack()
+{
   Mutex::Locker l(is_stopping_lock);
   dout(10) << "Got stop ack" << dendl;
   state = STOPPING;
   is_stopping_cond.Signal();
 }
+
+
 // =====================================================
 // MAP