In order to handle erasure coded reads where additional chunks would be able to
substitute for some bad chunks, we really need to return an indication
of bad digests or incorrectly sized chunks. We are simply using
the error return of -EIO to convey that information for future use.
Signed-off-by: David Zafman <dzafman@redhat.com>
OPTION(osd_op_num_threads_per_shard, OPT_INT, 2)
OPTION(osd_op_num_shards, OPT_INT, 5)
-OPTION(osd_read_eio_on_bad_digest, OPT_BOOL, true) // return EIO if object digest is bad
-
// Only use clone_overlap for recovery if there are fewer than
// osd_recover_clone_overlap_limit entries in the overlap set
OPTION(osd_recover_clone_overlap_limit, OPT_INT, 10)
<< " != expected 0x" << oi.data_digest
<< std::dec << " on " << soid;
// FIXME fall back to replica or something?
- if (g_conf->osd_read_eio_on_bad_digest)
- result = -EIO;
+ result = -EIO;
}
}
}