Fix client connection recovery bugs, add dirty_ops limit

This commit is contained in:
Vitaliy Filippov
2021-04-07 11:06:31 +03:00
parent 68567c0e1f
commit f6d705383a
6 changed files with 154 additions and 76 deletions
+8 -1
View File
@@ -8,12 +8,19 @@
void osd_messenger_t::cancel_osd_ops(osd_client_t *cl)
{
std::vector<osd_op_t*> cancel_ops;
cancel_ops.resize(cl->sent_ops.size());
int i = 0;
for (auto p: cl->sent_ops)
{
cancel_op(p.second);
cancel_ops[i++] = p.second;
}
cl->sent_ops.clear();
cl->outbox.clear();
for (auto op: cancel_ops)
{
cancel_op(op);
}
}
void osd_messenger_t::cancel_op(osd_op_t *op)