]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: scrub: be explicit about whether bad digest is known bad
authorSage Weil <sage@redhat.com>
Wed, 10 Dec 2014 00:37:33 +0000 (16:37 -0800)
committerSage Weil <sage@redhat.com>
Sat, 20 Dec 2014 15:30:02 +0000 (07:30 -0800)
The digest may just disagree with our best guess 'auth' shard, or it may
also disagree with the recorded oi digest.  Clarify which.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PGBackend.cc

index fcb7c09c8c7e711126a355e26a9e5cd45578b048..2f2f96965fb1923118c2d1c766dbcd6ad9e1ad6b 100644 (file)
@@ -390,9 +390,11 @@ enum scrub_error_type PGBackend::be_compare_scrub_objects(
       if (error != CLEAN)
         errorstream << ", ";
       error = DEEP_ERROR;
-
-      errorstream << "digest " << candidate.digest
-                  << " != known digest " << auth.digest;
+      errorstream << "data_digest " << candidate.digest
+                 << " != "
+                 << (auth_oi.is_data_digest() && okseed ? "known" : "best guess")
+                 << " data_digest " << auth.digest
+                 << " from auth shard " << auth_shard;
     }
   }
   if (auth.omap_digest_present && candidate.omap_digest_present) {
@@ -400,9 +402,11 @@ enum scrub_error_type PGBackend::be_compare_scrub_objects(
       if (error != CLEAN)
         errorstream << ", ";
       error = DEEP_ERROR;
-
       errorstream << "omap_digest " << candidate.omap_digest
-                  << " != known omap_digest " << auth.omap_digest;
+                 << " != "
+                 << (auth_oi.is_omap_digest() && okseed ? "known" : "best guess")
+                 << " omap_digest " << auth.omap_digest
+                 << " from auth shard " << auth_shard;
     }
   }
   // Shallow error takes precendence because this will be seen by