From 44736aac74493b5532c9e3574a37a3642766f212 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Thu, 25 May 2017 17:22:50 -0700 Subject: [PATCH] osd: When scrub finds an attr error mark shard inconsistent Fixes: http://tracker.ceph.com/issues/20089 Signed-off-by: David Zafman --- src/osd/PGBackend.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/osd/PGBackend.cc b/src/osd/PGBackend.cc index fab9ee826642..57e4c001ef64 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 -- 2.47.3