summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/osd/PG.cc1
-rw-r--r--src/osd/ReplicatedPG.cc1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/osd/PG.cc b/src/osd/PG.cc
index 539fb3284cb..a2d33975682 100644
--- a/src/osd/PG.cc
+++ b/src/osd/PG.cc
@@ -404,6 +404,7 @@ bool PG::search_for_missing(const pg_info_t &oinfo, const pg_missing_t *omissing
if (wmo != waiting_for_missing_object.end()) {
get_pgbackend()->get_parent()->drop_object_recovery_locks(wmo->first);
requeue_ops(wmo->second);
+ waiting_for_missing_object.erase(wmo);
}
stats_updated = true;
missing_loc[soid].insert(fromosd);
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index b6e3a0de3cd..6d0642ee4c6 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -7079,6 +7079,7 @@ ObjectContextRef ReplicatedPG::mark_object_lost(ObjectStore::Transaction *t,
if (wmo != waiting_for_missing_object.end()) {
drop_object_recovery_locks(wmo->first);
requeue_ops(wmo->second);
+ waiting_for_missing_object.erase(wmo);
}
// Add log entry