]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: ensure prepare_failure() marks no_reply on op 28177/head
authorJoao Eduardo Luis <joao@suse.com>
Mon, 20 May 2019 12:18:35 +0000 (13:18 +0100)
committerJoao Eduardo Luis <joao@suse.com>
Mon, 20 May 2019 12:18:35 +0000 (13:18 +0100)
Signed-off-by: Joao Eduardo Luis <joao@suse.com>
src/mon/OSDMonitor.cc

index 0e8efd44a694b469cf2cb9b62169a16a16a849bc..58f0ac058f5696485230c2a812311096eba005ee 100644 (file)
@@ -2800,6 +2800,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();
@@ -2812,7 +2814,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 "
@@ -2847,7 +2848,6 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op)
     } else {
       dout(10) << " no failure_info for osd." << target_osd << dendl;
     }
-    mon->no_reply(op);
   }
 
   return false;