Re: A CD with errors (scratches etc.) blocks the whole system while reading damadged files

Hans-Peter Jansen (hpj@urpla.net)
Mon, 22 Apr 2002 00:54:39 +0200


On Fri, 19 Apr 2002 14:01:13 -0600
"Erik Andersen" <andersen@codepoet.org> wrote:

> This should help somewhat. Currently, ide-cd.c retries ERROR_MAX
> (8) times when it sees an error. But ide.c is also retrying
> ERROR_MAX times when _it_ sees an error, and does a bus reset
> after evey 4 failures. So for each bad sector, you get 64
> retries (with typical timouts of 7 seconds each) plus 16 bus
> resets per bad sector.

Thanks for investigation. BTW: Does this cover the ide-scsi case, too?

> The funny thing is though, we knew after the first read that we
> had an uncorrectable medium error. Try this patch vs 2.4.19-pre7
>
> --- linux/drivers/ide/ide-cd.c.orig Tue Apr 9 06:59:56 2002
> +++ linux/drivers/ide/ide-cd.c Tue Apr 9 07:04:59 2002
> @@ -657,6 +657,11 @@
> request or data protect error.*/
> ide_dump_status (drive, "command error", stat);
> cdrom_end_request (0, drive);
> + } else if (sense_key == MEDIUM_ERROR) {
> + /* No point in re-trying a zillion times on a bad
> + * sector... If we got here the error is not correctable */
> + ide_dump_status (drive, "media error (bad sector)", stat);

.. and some curious will want to know which sector has thrown the error
[which would save me to patch this some day myself...]

> + cdrom_end_request (0, drive);
> } else if ((err & ~ABRT_ERR) != 0) {
> /* Go to the default handler
> for other errors. */
> -Erik
>
> --
> Erik B. Andersen http://codepoet-consulting.com/
> --This message was written using 73% post-consumer electrons--

Cheers,
Hans-Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/