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

Richard B. Johnson (root@chaos.analogic.com)
Fri, 19 Apr 2002 10:46:07 -0400 (EDT)


On Fri, 19 Apr 2002, Kent Borg wrote:

> On Fri, Apr 19, 2002 at 10:14:41AM -0400, Richard B. Johnson wrote:
> > On Thu, 18 Apr 2002, Dr. Death wrote:
> >
> > > Problem:
> > >
> > > I use SuSE Linux 7.2 and when I create md5sums from damaged files on a
> > > CD, the WHOLE system freezes or is ugly slow untill md5 has passed the
> > > damaged part of the file !
> > >
> >
> > So what do you suggest? You can see from the logs that the device
> > is having difficulty reading your damaged CD. You can do what
> > Windows-95 does (ignore the errors and pretend everything is fine),
> > or what Windows-98 and Windows-2000/Prof does (blue-screen, and re-boot),
> > or you can try like hell to read the files like Linux does. What do you
> > suggest?
>
> You didn't ask me, but I would still suggest that it would be nice if
> the whole system didn't come to a near halt.
>

Some time-outs are enforced by hardware, some errors even result in
a bus reset in which all the devices reload their firmware, etc.
Therefore time-outs are made quite long so one has to wait for a
relatively long to either retry or to give up upon an error. It
is possible to dynamically determine the kind of time-out necessary
for a particular error in a particular device. This could be
determined, for instance, when a device is mounted or otherwise
first accessed. However, then there would be complaints about
the amount of time necessary to mount a device, etc.

So, basically, the compromise seems to be that bad devices or
bad media result in long-time retries.

Note, if you have another task, that is not trying to use the
errored device or its bus, it does not get starved for CPU time.
The kernel still sleeps while waiting for pass/fail interrupts,
therefore giving the CPU to somebody. Of course this doesn't
help the task that's accessing the device, and to that task the
system seems to, as you say, come to a near halt.

FYI "Dr. Death" is phony and email to that node gets bounced.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).

Windows-2000/Professional isn't.

-
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/