From f3ef3ded38613d8587911e599947c010f30d3ce2 Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Mon, 20 May 2019 13:18:35 +0100 Subject: [PATCH] mon: ensure prepare_failure() marks no_reply on op Signed-off-by: Joao Eduardo Luis (cherry picked from commit 75ec26d78dfff1ce3b668e08d6a6a3cf05fe07de) --- src/mon/OSDMonitor.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 3f50e6fd3d2..d6e0782a8b5 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2666,6 +2666,8 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op) ceph_assert(osdmap.is_up(target_osd)); ceph_assert(osdmap.get_addrs(target_osd) == m->get_target_addrs()); + mon->no_reply(op); + if (m->if_osd_failed()) { // calculate failure time utime_t now = ceph_clock_now(); @@ -2678,7 +2680,6 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op) << " reported immediately failed by " << m->get_orig_source(); force_failure(target_osd, reporter); - mon->no_reply(op); return true; } mon->clog->debug() << "osd." << m->get_target_osd() << " reported failed by " @@ -2713,7 +2714,6 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op) } else { dout(10) << " no failure_info for osd." << target_osd << dendl; } - mon->no_reply(op); } return false; -- 2.47.3