Using dd to verify a dvd and avoid the readahead bug.
I have an iso file (which contains an iso9660/udf filesystem) that
I've written to a dvd-r using growisofs, thus:
# growisofs -dvd-compat -speed=1 -Z /dev/hdc=myDVD.iso
In the past, I have been able to check (verify) the burn finding the
iso size (using "isoinfo -d -i <isoFile>") and then by comparing the
# dd if=myDVD.iso bs=2048 count=<volSize> | md5sum
# dd if=/dev/hdc bs=2048 count=<volSize> | md5sum
(and checking /var/log/syslog for any read errors)
Now I have started getting read errors close to the lead-out, so I
append 150 2k blocks to the end of the iso file using:
# dd if=/dev/zero bs=2048 count=150 >> myDVD.iso
and I even disable readahead using hdparm:
# hdparm -a 0 /dev/hdc
But I still get read errors around near the end of the dvd:
# dd if=/dev/hdc bs=2048 count=2002922 | md5sum
dd: reading `/dev/hdc': Input/output error
1938744+0 records in
1938744+0 records out
Could someone please tell me:
1) Is this the dreaded readahead bug again?
2) Can I use dd to verify my burns and avoid the readahead bug?
3) If not, how can I verify my dvd burn?
Thank you for your help.