Fix memory leaks with subops, fix recovery crashes

This commit is contained in:
Vitaliy Filippov
2020-03-28 19:09:20 +03:00
parent 1b30120918
commit 43fe1d88e7
2 changed files with 36 additions and 34 deletions
+6
View File
@@ -133,6 +133,7 @@ void osd_t::handle_finished_read(osd_client_t & cl)
osd_op_t *request = req_it->second;
cl.sent_ops.erase(req_it);
cl.read_reply_id = 0;
delete cl.read_op;
cl.read_op = NULL;
cl.read_state = 0;
// Measure subop latency
@@ -145,6 +146,10 @@ void osd_t::handle_finished_read(osd_client_t & cl)
);
request->callback(request);
}
else
{
assert(0);
}
}
void osd_t::handle_op_hdr(osd_client_t *cl)
@@ -230,6 +235,7 @@ void osd_t::handle_reply_hdr(osd_client_t *cl)
}
else
{
delete cl->read_op;
cl->read_state = 0;
cl->read_op = NULL;
cl->sent_ops.erase(req_it);