Mark Lord <lkml@xxxxxx> wrote:That's if we think -stable needs this fixed.Let's say a bunch of read bio's get coalesced into a single
200+ sector request. This then fails on one single bad sector
out of the 200+. Without the patch, there is a very good chance
that sd.c will simply fail the entire request, all 200+ sectors.
With the patch, it will fail the first block, and then retry
the remaining blocks. And repeat this until something works,
or until everything has failed one by one.
Yowch. I have the feeling that this'll take our EIO-handling time from
far-too-long to far-too-long*200.
I am still traumatised by my recent ten-minute wait for a dodgy DVD to
become ejectable.
I don't think -stable needs this, personally.
What I need to have happen when a request is failed due to bad-media,
is have it split the request into a sequence of single-block requests
that are passed to the LLD one at a time. The ones with real bad
sectors will then be independently failed, and the rest will get done.
Much better. Much more complex.