From: Sage Weil Date: Thu, 26 Mar 2015 20:46:22 +0000 (-0700) Subject: osd: be slightly paranoid about value of okseed X-Git-Tag: v0.94.4~79^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=674029bc6c519e82011d1429ab5eddff9720c2dc;p=ceph.git osd: be slightly paranoid about value of okseed The scrubber.seed value is set based on the peer feature; check for that too explicitly, and assert the scrubber.seed value matches. No change in behavior here. Signed-off-by: Sage Weil (cherry picked from commit e34d31b7a9a71132a17b95cf5ad60255ece60243) --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index bfe59b79c821..4e898cca1781 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -4189,9 +4189,13 @@ void PG::scrub_compare_maps() maps[*i] = &scrubber.received_maps[*i]; } + // can we relate scrub digests to oi digests? + bool okseed = (get_min_peer_features() & CEPH_FEATURE_OSD_OBJECT_DIGEST); + assert(okseed == (scrubber.seed == 0xffffffff)); + get_pgbackend()->be_compare_scrubmaps( maps, - scrubber.seed == 0xffffffff, // can we relate scrub digests to oi digests? + okseed, scrubber.missing, scrubber.inconsistent, authoritative,