From: David Zafman Date: Fri, 26 May 2017 00:22:50 +0000 (-0700) Subject: osd: When scrub finds an attr error mark shard inconsistent X-Git-Tag: v12.1.0~87^2~8^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F15368%2Fhead;p=ceph.git osd: When scrub finds an attr error mark shard inconsistent Fixes: http://tracker.ceph.com/issues/20089 Signed-off-by: David Zafman --- diff --git a/src/osd/PGBackend.cc b/src/osd/PGBackend.cc index fab9ee82664..57e4c001ef6 100644 --- a/src/osd/PGBackend.cc +++ b/src/osd/PGBackend.cc @@ -782,16 +782,15 @@ void PGBackend::be_compare_scrubmaps( object_error, ss); // Some errors might have already been set in be_select_auth_object() - if (shard_map[j->first].errors != 0) { + if (found || shard_map[j->first].errors != 0) { cur_inconsistent.insert(j->first); if (shard_map[j->first].has_deep_errors()) ++deep_errors; - else + else if (shard_map[j->first].has_shallow_errors()) ++shallow_errors; // Only true if be_compare_scrub_objects() found errors and put something // in ss. - if (found) - errorstream << pgid << " shard " << j->first << ": soid " << *k + errorstream << pgid << " shard " << j->first << ": soid " << *k << " " << ss.str() << "\n"; } else { // XXX: The auth shard might get here that we don't know