[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Using dd to verify a dvd and avoid the readahead bug.



Hi,

> # growisofs -dvd-compat -speed=1 -Z /dev/hdc=myDVD.iso
> # dd if=/dev/hdc bs=2048 count=2002922 | md5sum
> dd: reading `/dev/hdc': Input/output error
> 1938744+0 records in
>
> 1) Is this the dreaded readahead bug again?

I doubt it strongly.

2002922-1938744 = 64178 blocks missing 

That's 125 MB. No readahead does 125 MB.


The hard "read-ahead" bug is with CD which have been
burned in TAO mode. This mode appends 2 sectors which
cannot be read via the SCSI SPC command READ but only
via SCSI MMC command READ CD (if ever, i did not try
yet).
These sectors are nevertheless counted in the TOC info
of CD media as part of the track. One cannot easily
determine whether they are readable or not - unless
one tries.

Our dear kernels seem to get confused by the inability
to read these announced sectors.
The answer was to attach some blocks as sacrifice to
this bug-or-feature.

The safe size for padding once used to be 32 kB.
At some time it grew and an urban legend emerged that
150 sectors (= 2 seconds of music) might be the new limit.
Well, 300 kB seems to be safe, indeed ... up to now.
Cargo cult. 

There is no confirmed sighting of readahead bugs on DVD.
We got lots of others. Maybe they interbreed. 
 

> 2) Can I use dd to verify my burns and avoid the readahead bug?

You can try to skip over the bad spot in order to
recover data blocks from blocks with higher addresses.
After all it's a block device with random access reading.

Nevertheless this will make any decent verifier raise
the red flag.


> 3) If not, how can I verify my dvd burn?

The question is rather how you can burn a thoroughly readable
DVD. To me it looks that your verifier did a good job.
Congrats. 


Have a nice day :)

Thomas



Reply to: