]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: do not return no_reply() again
authorKefu Chai <kchai@redhat.com>
Thu, 11 Mar 2021 09:45:49 +0000 (17:45 +0800)
committersinguliere <singuliere@autistici.org>
Thu, 1 Apr 2021 20:53:19 +0000 (22:53 +0200)
we always return "no_op" message to proxy monitor in
`OSDMonitor::prepare_failure()` at the very beginning of this method. so
no need to reply the peon again when discarding the failure report.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 062a3859b989069b2120678db1787cb077e51bd3)

 Conflicts:
src/mon/OSDMonitor.cc
because mon-> in master is mon. in octopus

src/mon/OSDMonitor.cc

index fa26252362fab0b32299ac56e4f323c9417ae48e..20dfac17db507bfda87fae310e04fff793d7271a 100644 (file)
@@ -3257,11 +3257,7 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op)
                      << m->get_orig_source();
 
     failure_info_t& fi = failure_info[target_osd];
-    MonOpRequestRef old_op = fi.add_report(reporter, failed_since, op);
-    if (old_op) {
-      mon->no_reply(old_op);
-    }
-
+    fi.add_report(reporter, failed_since, op);
     return check_failure(now, target_osd, fi);
   } else {
     // remove the report
@@ -3270,10 +3266,7 @@ bool OSDMonitor::prepare_failure(MonOpRequestRef op)
                       << m->get_orig_source();
     if (failure_info.count(target_osd)) {
       failure_info_t& fi = failure_info[target_osd];
-      MonOpRequestRef report_op = fi.cancel_report(reporter);
-      if (report_op) {
-        mon->no_reply(report_op);
-      }
+      fi.cancel_report(reporter);
       if (fi.reporters.empty()) {
        dout(10) << " removing last failure_info for osd." << target_osd
                 << dendl;