An EIO from a single device should not be a client-visible failure.
the underlying goal: any EIO from a single device should not be a client-visible failure.
(the same way an OSD failure shouldn't be visible to client workloads)
we get this by enabling the eio on read config option, but the goal would be to do better than that: trigger a repair on an object that gives EIO on read, just like we do during scrub.
(well, during repair)
or, if we don't repair, work around it by reading from a replica that doesn't return eio.
(which might make more sense since repair after scrub pbly won't be driven directly by the osd in the future?)
ok. yes… eventually repair is moving out of osd and we won't be using recovery to do it (hopefully). We could use that mechanism for now I guess.
Or as you say may we just read from another replica