]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PrimaryLogPG: skip deleted missing objects in pg[n]ls 16490/head
authorJosh Durgin <jdurgin@redhat.com>
Fri, 21 Jul 2017 19:02:53 +0000 (15:02 -0400)
committerJosh Durgin <jdurgin@redhat.com>
Fri, 21 Jul 2017 19:02:57 +0000 (15:02 -0400)
Fixes: http://tracker.ceph.com/issues/20739
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
src/osd/PrimaryLogPG.cc

index 245fc88a8fae996766d82a0d50624899ba2ee272..8a5d3e06c5311eb0805e50ec509cd43d9c4d79a1 100644 (file)
@@ -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;