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

This commit is contained in:
Vitaliy Filippov
2021-03-08 17:04:10 +03:00
parent 8bdd6d8d78
commit 30d1ccd43e
+2 -2
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)
{ {