Messages in this thread |  | | From | (Chel van Gennip,) | Subject | RE: Linux-1.3.89 / CD-Rom bug | Date | Tue, 16 Apr 1996 22:40:49 +0200 (MESZ) |
| |
"Chel van Gennip," <chel@vangennip.nl> wrote: >Linus Torvalds <torvalds@cs.helsinki.fi> wrote: >>I made a 1.3.89 kernel that fixes >> >.... >> - iso9660 bugfix (probably the one that caused some problems for people with >> some CD's..) >.... >>Thanks for trying this out (you ARE going to try it out, aren't you??), > >I did, but I still see the strange CD-rom error: >Test with SCSI CD-rom gives an error with gzip (tar xz ), no error if the >file is loaded in the cache in advance with cat. Maybe related with block- >size on read?. Tests on a IDE/ATAPI CD-rom give no errors (also different >motherboard!).
I tried a new test to locate the place of the bug. I copied the whole CD-rom to a partition on a SCSI disk and performd the test again, now on the SCSI disk with the following result:
=================================================================== gennip:/tmp# umount /mnt gennip:/tmp# mount -r -t iso9660 /dev/sda4 /mnt gennip:/tmp# tar xzf /mnt/L*/S*/source/n/tcpip/N*5.tar*z tar: Skipping to next file header...
gzip: stdin: invalid compressed data--crc error tar: archive /mnt/Linux/Slackware/source/n/tcpip/NetKit-B-0.05.tar.gz EOF not on block boundary gennip:/tmp# umount /mnt gennip:/tmp# cat /mnt/L*/S*/source/n/tcpip/N*5.tar*z>/dev/null cat: /mnt/L*/S*/source/n/tcpip/N*5.tar*z: No such file or directory gennip:/tmp# mount -r -t iso9660 /dev/sda4 /mnt gennip:/tmp# cat /mnt/L*/S*/source/n/tcpip/N*5.tar*z>/dev/null gennip:/tmp# tar xzf /mnt/L*/S*/source/n/tcpip/N*5.tar*z gennip:/tmp#
gennip:/tmp# cat /etc/mtab /dev/hda6 / ext2 rw 1 1 /dev/hda7 /u ext2 rw 1 1 /dev/hda1 /dosc umsdos rw 1 1 /dev/sda1 /dosd umsdos rw 1 1 none /proc proc rw 1 1 /dev/scd0 /cdrom iso9660 ro 0 0 /dev/sda4 /mnt iso9660 ro 0 0 =========================================================================== So we now have the following matrix: IDE/ATAPI CD-rom -> OK AHA1542/Sony CD-rom -> error AHA1542/DEC DSP -> error Additional: cat >/dev/null reads without errors to the cache
So I think the error is somewhere in the read-ahead mechanism in combination with the AHA1542 driver. Files on CD-Rom normally are quite consecutive, so read ahead mechanisms could generate _long_ transfers. The length of the transfers can depend on the blocksize in the read call's. Long transfers can conflict with existing DMA limitations on the intel platforms? Anyway the IDE CD-rom uses PIO and therefore has no problems with these kind of limitations.
Unfortunately I am not so familiar with the driver code involved.
I hope this helps to locate the problem, as these tests indicate problems can occur on SCSI drives too, and therefore are more dangerous.
Chel --------------------------------------------------------------------------- Chel van Gennip | Spechtstraat 15 | 2623 GP Delft | The Netherlands Tel: +31 15 2567783 | Fax: +31 15 2610985 | E-Mail: chel@vangennip.nl ---------------------------------------------------------------------------
|  |