Fix an infinite loop when discarding list operations during stop_pg()

Vitaliy Filippov 2021-03-06 02:46:24 +03:00
parent 8bdd6d8d78
commit 30d1ccd43e
1 changed files with 2 additions and 2 deletions

View File

@ -459,11 +459,11 @@ bool osd_t::stop_pg(pg_t & pg)
if (pg.peering_state) if (pg.peering_state)
{ {
// Stop peering // Stop peering
for (auto it = pg.peering_state->list_ops.begin(); it != pg.peering_state->list_ops.end();) for (auto it = pg.peering_state->list_ops.begin(); it != pg.peering_state->list_ops.end(); it++)
{ {
discard_list_subop(it->second); discard_list_subop(it->second);
} }
for (auto it = pg.peering_state->list_results.begin(); it != pg.peering_state->list_results.end();) for (auto it = pg.peering_state->list_results.begin(); it != pg.peering_state->list_results.end(); it++)
{ {
if (it->second.buf) if (it->second.buf)
{ {