diff options
-rw-r--r-- | src/osd/PG.cc | 1 | ||||
-rw-r--r-- | src/osd/ReplicatedPG.cc | 1 |
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 |