]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MDSMonitor: fix memory leak in prepare_beacon 10238/head
authorIgor Podoski <igor.podoski@ts.fujitsu.com>
Mon, 11 Jul 2016 10:37:25 +0000 (12:37 +0200)
committerIgor Podoski <igor.podoski@ts.fujitsu.com>
Thu, 17 Nov 2016 07:58:41 +0000 (02:58 -0500)
prepare_beacon() case of prepare_update() should put()
message in two more cases, because is the last step
of dispatch()

Fixes: http://tracker.ceph.com/issues/17285
Signed-off-by: Igor Podoski <igor.podoski@ts.fujitsu.com>
src/mon/MDSMonitor.cc

index 5aa8866f6c0912df36bd4d648efa24e8313066ba..1b03a91b9d4c785f8eae6d723f3e93e1a991adf3 100644 (file)
@@ -432,6 +432,7 @@ bool MDSMonitor::prepare_beacon(MMDSBeacon *m)
   // Ignore beacons if filesystem is disabled
   if (!mdsmap.get_enabled()) {
     dout(1) << "warning, MDS " << m->get_orig_source_inst() << " up but filesystem disabled" << dendl;
+    m->put();
     return false;
   }
 
@@ -501,6 +502,7 @@ bool MDSMonitor::prepare_beacon(MMDSBeacon *m)
       dout(0) << "got beacon for MDS in STATE_STOPPING, ignoring requested state change"
               << dendl;
       _note_beacon(m);
+      m->put();
       return true;
     }