]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: ensure prepare_failure() marks no_reply on op 30481/head
authorJoao Eduardo Luis <joao@suse.com>
Mon, 20 May 2019 12:18:35 +0000 (13:18 +0100)
committerPrashant D <pdhange@redhat.com>
Thu, 19 Sep 2019 23:32:43 +0000 (19:32 -0400)
Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 75ec26d78dfff1ce3b668e08d6a6a3cf05fe07de)

src/mon/OSDMonitor.cc

index 6d7d08f4eeaba3e714a5b2cdb58682c35bafc7e7..93694bc3950643ca9782cf459fc0dc223f1b2165 100644 (file)
@@ -2579,6 +2579,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();
@@ -2590,7 +2592,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 "
@@ -2624,7 +2625,6 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op)
     } else {
       dout(10) << " no failure_info for osd." << target_osd << dendl;
     }
-    mon->no_reply(op);
   }
 
   return false;