]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: don't delete stats when sending osdmap incremental
authorSage Weil <sage@newdream.net>
Fri, 6 Nov 2009 21:54:53 +0000 (13:54 -0800)
committerSage Weil <sage@newdream.net>
Fri, 6 Nov 2009 21:54:53 +0000 (13:54 -0800)
send_latest will delete m, and/or wait.  Instead call send_incremental
directly only when we know paxos is_readable.

src/mon/OSDMonitor.h
src/mon/PGMonitor.cc

index ca82a225c9f342047452093ee145c49403991cbf..3632035e97025565ef4cef7c3ead85819a1609f4 100644 (file)
@@ -156,6 +156,9 @@ private:
   void mark_all_down();
 
   void send_latest(PaxosServiceMessage *m, epoch_t start=0);
+  void send_latest_now_nodelete(PaxosServiceMessage *m, epoch_t start=0) {
+    send_incremental(m, start);
+  }
 
   void blacklist(entity_addr_t a, utime_t until);
 
index 5cc7d197621ebc70c6a4b412e19629d00e304590..ec8bc700d09715e9710f418109d330e1d2bc483a 100644 (file)
@@ -272,7 +272,7 @@ bool PGMonitor::preprocess_pg_stats(MPGStats *stats)
   if (stats->had_map_for > 30.0 && 
       mon->osdmon()->paxos->is_readable() &&
       stats->epoch < mon->osdmon()->osdmap.get_epoch())
-    mon->osdmon()->send_latest(stats, stats->epoch+1);
+    mon->osdmon()->send_latest_now_nodelete(stats, stats->epoch+1);
 
   // any new osd or pg info?
   if (!pg_map.osd_stat.count(from) ||