]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: ensure prepare_failure() marks no_reply on op 30480/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:34 +0000 (19:32 -0400)
Signed-off-by: Joao Eduardo Luis <joao@suse.com>
(cherry picked from commit 75ec26d78dfff1ce3b668e08d6a6a3cf05fe07de)

src/mon/OSDMonitor.cc

index 3f50e6fd3d261a169caa87485ab046533c02017b..d6e0782a8b569ff31e758e50dd43ff42b8aa8423 100644 (file)
@@ -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;