Fix rare crash in osd_peering due to callback ordering

Vitaliy Filippov 2022-12-11 02:42:32 +03:00
parent 7a71e7ef01
commit 472bce58ab
1 changed files with 4 additions and 4 deletions

View File

@ -336,8 +336,8 @@ void osd_t::submit_sync_and_list_subop(osd_num_t role_osd, pg_peering_state_t *p
ps->list_ops.erase(role_osd);
submit_list_subop(role_osd, ps);
};
bs->enqueue_op(op->bs_op);
ps->list_ops[role_osd] = op;
bs->enqueue_op(op->bs_op);
}
else
{
@ -371,8 +371,8 @@ void osd_t::submit_sync_and_list_subop(osd_num_t role_osd, pg_peering_state_t *p
ps->list_ops.erase(role_osd);
submit_list_subop(role_osd, ps);
};
msgr.outbox_push(op);
ps->list_ops[role_osd] = op;
msgr.outbox_push(op);
}
}
@ -415,8 +415,8 @@ void osd_t::submit_list_subop(osd_num_t role_osd, pg_peering_state_t *ps)
op->bs_op = NULL;
delete op;
};
bs->enqueue_op(op->bs_op);
ps->list_ops[role_osd] = op;
bs->enqueue_op(op->bs_op);
}
else
{
@ -463,8 +463,8 @@ void osd_t::submit_list_subop(osd_num_t role_osd, pg_peering_state_t *ps)
ps->list_ops.erase(role_osd);
delete op;
};
msgr.outbox_push(op);
ps->list_ops[role_osd] = op;
msgr.outbox_push(op);
}
}