On Wed 8 October 2003 05:09, Rob Bogus wrote: > Volker Kuhlmann wrote: > >Esteemed gurus, > > > >if anyone is able to shed some more light on this kernel problem > > I'd appreciate it. It's been going on for years. > > > >When reading the whole of an iso9660 filesystem from a cd or > > dvd, I often get I/O errors within the last blocks of the > > filesystem. Using <snip> > > This is caused by reading past the end of written data. You can > either (a) get the size of the ISO filesystem with cdrecord or > isoinfo, and then use dd to read only what's valid, or complain > to the creator of the CD. There's an option which fixes this, > from memory -dao.
Actually, that doesn't work. I took a random pressed CD, used isoinfo to find that there were 160525 blocks on it, and then used dd to read the blocks, with bs=2k count=160525. It stops at 160484 blocks with an IO error every time. Turning off readahead with hdparm doesn't make any difference. The interesting thing is, 160484 = 2 * 2 * 53 * 757. If this is indeed a block readahead problem, then the readahead block size is 8k max. (unless it's 106k, but that seems unlikely to me). However, if it's 8k, then it should read at least up to the last 4 blocks, and not stop 41 blocks before the end. So, it's either not a block readahead problem, or I'm missing something. Lourens -- GPG public key: http://home.student.utwente.nl/l.e.veen/lourens.key

