]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: scrub: complain about bad digest in final pass auth check
authorSage Weil <sage@redhat.com>
Wed, 10 Dec 2014 00:38:10 +0000 (16:38 -0800)
committerSage Weil <sage@redhat.com>
Sat, 20 Dec 2014 15:30:02 +0000 (07:30 -0800)
This will only trigger if we choose an auth that is known bad, but that
currently can happen, so compalin here too.

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

index 815720bad06a0f1044bb80c6ccc1c4b3fcdf2e2c..970dac096311bd269aeebb40e53064cf6fd7d4ac 100644 (file)
@@ -12275,6 +12275,23 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap)
 
     dout(20) << mode << "  " << soid << " " << oi << dendl;
 
+    if (oi.is_data_digest() && p->second.digest_present &&
+       oi.data_digest != p->second.digest) {
+      osd->clog->error() << mode << " " << info.pgid << " " << soid
+                        << " on disk data digest 0x" << std::hex
+                        << p->second.digest << " != 0x"
+                        << oi.data_digest << std::dec;
+      ++scrubber.deep_errors;
+    }
+    if (oi.is_omap_digest() && p->second.omap_digest_present &&
+       oi.omap_digest != p->second.omap_digest) {
+      osd->clog->error() << mode << " " << info.pgid << " " << soid
+                        << " on disk omap digest 0x" << std::hex
+                        << p->second.omap_digest << " != 0x"
+                        << oi.omap_digest << std::dec;
+      ++scrubber.deep_errors;
+    }
+
     if (soid.is_snap()) {
       stat.num_bytes += snapset.get_clone_bytes(soid.snap);
     } else {