From: Josh Durgin Date: Fri, 21 Jul 2017 19:02:53 +0000 (-0400) Subject: osd/PrimaryLogPG: skip deleted missing objects in pg[n]ls X-Git-Tag: v12.1.2~159^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F16490%2Fhead;p=ceph.git osd/PrimaryLogPG: skip deleted missing objects in pg[n]ls Fixes: http://tracker.ceph.com/issues/20739 Signed-off-by: Josh Durgin --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 245fc88a8fae9..8a5d3e06c5311 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -1242,6 +1242,9 @@ void PrimaryLogPG::do_pg_op(OpRequestRef op) if (candidate.get_namespace() == cct->_conf->osd_hit_set_namespace) continue; + if (missing_loc.is_deleted(candidate)) + continue; + // skip wrong namespace if (m->get_hobj().nspace != librados::all_nspaces && candidate.get_namespace() != m->get_hobj().nspace) @@ -1398,6 +1401,9 @@ void PrimaryLogPG::do_pg_op(OpRequestRef op) if (candidate.get_namespace() != m->get_hobj().nspace) continue; + if (missing_loc.is_deleted(candidate)) + continue; + if (filter && !pgls_filter(filter, candidate, filter_out)) continue;