From: Joao Eduardo Luis Date: Mon, 20 May 2019 12:18:35 +0000 (+0100) Subject: mon: ensure prepare_failure() marks no_reply on op X-Git-Tag: v12.2.13~59^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4dae96adb93d0c4a65920d0b2b17782c0edd0834;p=ceph.git mon: ensure prepare_failure() marks no_reply on op Signed-off-by: Joao Eduardo Luis (cherry picked from commit 75ec26d78dfff1ce3b668e08d6a6a3cf05fe07de) --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index c0481c5b6e45..4b640bd91094 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2289,6 +2289,8 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op) assert(osdmap.is_up(target_osd)); assert(osdmap.get_addr(target_osd) == m->get_target().addr); + mon->no_reply(op); + if (m->if_osd_failed()) { // calculate failure time utime_t now = ceph_clock_now(); @@ -2300,7 +2302,6 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op) mon->clog->debug() << m->get_target() << " reported immediately failed by " << m->get_orig_source_inst(); force_failure(target_osd, reporter); - mon->no_reply(op); return true; } mon->clog->debug() << m->get_target() << " reported failed by " @@ -2334,7 +2335,6 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op) } else { dout(10) << " no failure_info for osd." << target_osd << dendl; } - mon->no_reply(op); } return false;