]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: ensure prepare_failure() marks no_reply on op 30519/head
authorJoao Eduardo Luis <joao@suse.com>
Mon, 20 May 2019 12:18:35 +0000 (13:18 +0100)
committerNathan Cutler <ncutler@suse.com>
Mon, 23 Sep 2019 16:27:10 +0000 (18:27 +0200)
Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 75ec26d78dfff1ce3b668e08d6a6a3cf05fe07de)

src/mon/OSDMonitor.cc

index c0481c5b6e457d27ed78957c6d2c302bc0de511f..4b640bd910946110da69d60f8949e3d438a4f19d 100644 (file)
@@ -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;