Skip to content

Commit

Permalink
mon: add a process that handle Callback Arguments
Browse files Browse the repository at this point in the history
in C_AckMarkedDown,we add a process that handle _finish(int) Callback Arguments

Fixes: https://tracker.ceph.com/issues/41217
Signed-off-by: NancySu05 <su_nan@inspur.com>
  • Loading branch information
NancySu05 committed Aug 20, 2019
1 parent 7265b55 commit 57e8411
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions src/mon/OSDMonitor.cc
Expand Up @@ -2542,16 +2542,22 @@ class C_AckMarkedDown : public C_MonOp {
MonOpRequestRef op)
: C_MonOp(op), osdmon(osdmon) {}

void _finish(int) override {
MOSDMarkMeDown *m = static_cast<MOSDMarkMeDown*>(op->get_req());
osdmon->mon->send_reply(
op,
new MOSDMarkMeDown(
m->fsid,
m->target_osd,
m->target_addrs,
m->get_epoch(),
false)); // ACK itself does not request an ack
void _finish(int r) override {
if (r == 0) {
MOSDMarkMeDown *m = static_cast<MOSDMarkMeDown*>(op->get_req());
osdmon->mon->send_reply(
op,
new MOSDMarkMeDown(
m->fsid,
m->target_osd,
m->target_addrs,
m->get_epoch(),
false)); // ACK itself does not request an ack
} else if (r == -EAGAIN) {
osdmon->dispatch(op);
} else {
ceph_abort_msgf("C_AckMarkedDown: unknown result %d", r);
}
}
~C_AckMarkedDown() override {
}
Expand Down

0 comments on commit 57e8411

Please sign in to comment.