Re: pre2.0.9 (was Re: CD-ROM Access Crashes)

Leonard N. Zubkoff (lnz@dandelion.com)
Wed, 29 May 1996 23:54:47 -0700


Date: Thu, 30 May 1996 09:33:41 +0300 (EET DST)
From: Linus Torvalds <torvalds@cs.Helsinki.FI>

Note that you might want to try out #9 of the pre-2.0 series. There were
still some problems in the generic read handling when errors occurred, and I
hope those are finally fixed (knock wood - the code is certainly not trivial,
and I haven't been able to test). Pre-#9 also contains the SCSI fixes from
Leonard, so people who have seen problems with SCSI cd's, could you please
check this out and see if we have them more-or-less nailed now?

I have verified that dd'ing a CD-R no longer kills my system nor does reading a
bad block. I was able to read all the good files on my test CD, with the bad
ones getting I/O errors. It took 1.5 hours to read it all, but there were no
resets and the system worked fine both during and after the test. However, it
does look like there are repeated requests for the same block, as in this
excerpt:

May 29 14:43:00 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 981760
May 29 14:43:01 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 981764
May 29 15:43:17 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 981760
May 29 15:43:17 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 981764
May 29 15:47:13 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547212
May 29 15:47:18 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547214
May 29 15:47:23 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547216
May 29 15:47:28 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547218
May 29 15:47:33 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547220
May 29 15:47:37 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547212
May 29 15:47:42 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547222
May 29 15:47:47 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547214
May 29 15:47:50 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547224
May 29 15:47:55 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547216
May 29 15:48:00 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547226
May 29 15:48:05 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547218
May 29 15:48:11 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547228
May 29 15:48:16 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547212
May 29 15:48:23 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547230
May 29 15:48:28 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547214
May 29 15:48:35 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547232
May 29 15:48:40 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547216
May 29 15:48:48 gwynedd kernel: CD-ROM I/O error: dev 0b:00, sector 547218

What's definitely not implemented as yet is for a SCSI command that fails with
a MEDIUM ERROR to be processed as a partial success and a partial failure. The
entire command is treated as having failed. In addition, it will still signal
an I/O error when a bad sector is encountered, even if we're really at the
logical end of the CD-R.

Leonard