From 763d348cc49787bd7f4f93a4fddbe3595287317e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 12 Nov 2012 13:37:55 -0800 Subject: [PATCH] mon: ignore failure messages if already pending a failure If a failure is already pending, do nothing in check_failure(). Signed-off-by: Sage Weil --- src/mon/OSDMonitor.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 0316a906fa605..75dd2b980bfad 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -727,6 +727,12 @@ bool OSDMonitor::check_failure(utime_t now, int target_osd, failure_info_t& fi) << grace << " grace (" << orig_grace << " + " << my_grace << " + " << peer_grace << "), max_failed_since " << max_failed_since << dendl; + // already pending failure? + if (pending_inc.new_state[target_osd] & CEPH_OSD_UP) { + dout(10) << " already pending failure" << dendl; + return true; + } + if (failed_for >= grace && ((int)fi.reporters.size() >= g_conf->osd_min_down_reporters) && (fi.num_reports >= g_conf->osd_min_down_reports)) { -- 2.39.5