]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: only complain about stored vs actual digest if all peers support it 4107/head
authorSage Weil <sage@redhat.com>
Thu, 19 Mar 2015 23:27:17 +0000 (16:27 -0700)
committerSage Weil <sage@redhat.com>
Thu, 19 Mar 2015 23:27:17 +0000 (16:27 -0700)
commit477ac92984dbddb2526b216fa5ab0eaf4590dc6b
treebcfc9fd4ef1bc70334a89de477913a7d6044c042
parent9a2ff34d75cc69759584fb802f903068669f6233
osd: only complain about stored vs actual digest if all peers support it

If we have a mixed cluster of hammer and pre-hammer OSDs, we will fall back
to using 0 as the initial crc32c value.  However, if the primary has a
stored digest, it currently compares its value to the reported value (w/
the wrong initial value) and complains.

There are two possible fixes:
 - avoid storing a digest if all peers don't support it, or
 - avoid complaining on scrub if all peers don't support it.

The latter is easier, and this fix also has the benefit of fixing the bug
even for clusters where this has already happened.

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