On 10/07/10 10:14 AM, James Bottomley wrote: ..
The check is redundant: scsi_decide_disposition is where we check for retries or error handling. If you look, it already picks out your three cases and returns success for them (meaning pass straight through). in sd_done() MEDIUM_ERROR means complete immediately.
..
This one's in the wrong place. Normal MEDIUM_ERRORS complete above this. I also don't think the skip is right. We're supposed to communicate to block what we've done, and all we have to do that with is good bytes. If we skip over a bad sector and try to complete the rest, we've lost the error position.
.. No, on 2.6.27, those patches work exactly as they should. Failing (to the block layer) the bad sector(s), and successfully reading all others. Try it. It works. But horribly out of date for the newer kernels, which is why it's not in your patch queue from me. :) Cheers -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html