]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: update mdsmap.last_failure_osd_epoch when blacklisting
authorSage Weil <sage@newdream.net>
Thu, 4 Nov 2010 05:28:54 +0000 (22:28 -0700)
committerSage Weil <sage@newdream.net>
Thu, 4 Nov 2010 05:28:54 +0000 (22:28 -0700)
We need to note the osdmap epoch the taking-over mds needs in the mdsmap.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mon/MDSMonitor.cc
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h

index ca47b8553567ccb5b6b48808f1e92ff9428c9864..213fe215183dd5e7f7322eebeee6326dcacc665a 100644 (file)
@@ -816,7 +816,7 @@ void MDSMonitor::tick()
          // blacklist laggy mds
          utime_t until = now;
          until += g_conf.mds_blacklist_interval;
-         mon->osdmon()->blacklist(info.addr, until);
+         pending_mdsmap.last_failure_osd_epoch = mon->osdmon()->blacklist(info.addr, until);
          propose_osdmap = true;
        }
        pending_mdsmap.mds_info.erase(gid);
index ca57c96f475fab11213d6f94c779cf695f7d933c..004dccee09cac3bfd4fe160a270acfe50c22fe09 100644 (file)
@@ -867,10 +867,11 @@ void OSDMonitor::send_incremental(epoch_t first, entity_inst_t& dest)
 
 
 
-void OSDMonitor::blacklist(entity_addr_t a, utime_t until)
+epoch_t OSDMonitor::blacklist(entity_addr_t a, utime_t until)
 {
   dout(10) << "blacklist " << a << " until " << until << dendl;
   pending_inc.new_blacklist[a] = until;
+  return pending_inc.epoch;
 }
 
 
index 9be1ab30750cae5b00b95caa67837baafab00293..e38e95adc6bfdf369b0976961e21e15014fdbea8 100644 (file)
@@ -168,7 +168,7 @@ private:
     send_incremental(m, start);
   }
 
-  void blacklist(entity_addr_t a, utime_t until);
+  epoch_t blacklist(entity_addr_t a, utime_t until);
 
   void check_subs();
   void check_sub(Subscription *sub);