From: Josh Durgin Date: Thu, 13 Jul 2017 23:29:50 +0000 (-0400) Subject: osd/PrimaryLogPG: guard lost_delete missing_loc change by feature flag X-Git-Tag: v12.1.2~220^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=62002a387da15bcc64b5a5b467569825e1ebd38c;p=ceph.git osd/PrimaryLogPG: guard lost_delete missing_loc change by feature flag With deletes during recovery instead of during log processing, we need to keep the entry in missing_loc. Signed-off-by: Josh Durgin --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index dd6e4ef852d0..797e1b078680 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -10592,8 +10592,15 @@ void PrimaryLogPG::mark_all_unfound_lost( std::move(manager), boost::optional >( [this, oids, con, num_unfound, tid]() { - for (auto oid: oids) + if (perform_deletes_during_peering()) { + for (auto oid : oids) { + // clear old locations - merge_new_log_entries will have + // handled rebuilding missing_loc for each of these + // objects if we have the RECOVERY_DELETES flag missing_loc.recovered(oid); + } + } + for (auto& p : waiting_for_unreadable_object) { release_backoffs(p.first); }