Skip to content

Commit

Permalink
osd: do_sparse_read(): On Checksum mismatch try to repair
Browse files Browse the repository at this point in the history
Fixes: http://tracker.ceph.com/issues/24875

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 929f78a)
  • Loading branch information
dzafman committed Aug 2, 2018
1 parent 925caf4 commit 23c6035
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/osd/PrimaryLogPG.cc
Expand Up @@ -5596,8 +5596,10 @@ int PrimaryLogPG::do_sparse_read(OpContext *ctx, OSDOp& osd_op) {
<< " full-object read crc 0x" << crc
<< " != expected 0x" << oi.data_digest
<< std::dec << " on " << soid;
// FIXME fall back to replica or something?
return -EIO;
r = rep_repair_primary_object(soid, ctx->op);
if (r < 0) {
return r;
}
}
}

Expand Down

0 comments on commit 23c6035

Please sign in to comment.