From 1de1285ef9dee506340ebd1bcd849a542087525b Mon Sep 17 00:00:00 2001 From: sageweil Date: Mon, 18 Jun 2007 22:35:15 +0000 Subject: [PATCH] * minor osdmon fixes git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1426 29311d96-e01e-0410-9327-a35deaab8ce9 --- branches/sage/mon2/mon/OSDMonitor.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/branches/sage/mon2/mon/OSDMonitor.cc b/branches/sage/mon2/mon/OSDMonitor.cc index 31cba0a197b99..7852c5e7a91f1 100644 --- a/branches/sage/mon2/mon/OSDMonitor.cc +++ b/branches/sage/mon2/mon/OSDMonitor.cc @@ -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; } -- 2.39.5