From 30d1ccd43e37ca1336b3067580eb29630f8eec30 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sat, 6 Mar 2021 02:46:24 +0300 Subject: [PATCH] Fix an infinite loop when discarding list operations during stop_pg() --- src/osd_peering.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd_peering.cpp b/src/osd_peering.cpp index ee011b75..1e918fe6 100644 --- a/src/osd_peering.cpp +++ b/src/osd_peering.cpp @@ -459,11 +459,11 @@ bool osd_t::stop_pg(pg_t & pg) if (pg.peering_state) { // 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); } - 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) {