]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
* minor osdmon fixes
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 18 Jun 2007 22:35:15 +0000 (22:35 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Mon, 18 Jun 2007 22:35:15 +0000 (22:35 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1426 29311d96-e01e-0410-9327-a35deaab8ce9

branches/sage/mon2/mon/OSDMonitor.cc

index 31cba0a197b99101bd1a6215f4486851366c390b..7852c5e7a91f1385aa8c390e6284b9774f584de7 100644 (file)
@@ -419,21 +419,25 @@ bool OSDMonitor::preprocess_failure(MOSDFailure *m)
   int badboy = m->get_failed().name.num();
 
   // weird?
-  if (!osdmap.have_inst(badboy) ||
-      osdmap.get_inst(badboy) != m->get_failed()) {
-    dout(5) << "preprocess_failure weird: " << m->get_failed() << " from " << m->get_from() << endl;
+  if (!osdmap.have_inst(badboy)) {
+    dout(5) << "preprocess_failure dne(/dup?): " << m->get_failed() << ", from " << m->get_from() << endl;
+    send_incremental(m->get_epoch(), m->get_from());
+    return true;
+  }
+  if (osdmap.get_inst(badboy) != m->get_failed()) {
+    dout(5) << "preprocess_failure wrong osd: report " << m->get_failed() << " != map's " << osdmap.get_inst(badboy)
+           << ", from " << m->get_from() << endl;
     send_incremental(m->get_epoch(), m->get_from());
     return true;
   }
-
   // already reported?
   if (osdmap.is_down(badboy)) {
-    dout(5) << "preprocess_failure dup: " << m->get_failed() << " from " << m->get_from() << endl;
+    dout(5) << "preprocess_failure dup: " << m->get_failed() << ", from " << m->get_from() << endl;
     send_incremental(m->get_epoch(), m->get_from());
     return true;
   }
 
-  dout(10) << "preprocess_failure new: " << m->get_failed() << " from " << m->get_from() << endl;
+  dout(10) << "preprocess_failure new: " << m->get_failed() << ", from " << m->get_from() << endl;
   return false;
 }