I recently went to backup a laptop drive that is in an USB chassis. The drive was an old backup drive. I connected it to my Linux box and mounted the drive. I then configured my backup software to perform a backup. It estimated 13 DVDs and burned several before it barfed. The failure was on a a bad md5 checksum comparison. After picking the files to go on a disk, I compute the md5 checksums and put them in the “ToBurn” database. I then add these files to an ISO image and before burning it, mount the ISO like a file system and compute the md5 checksum for each file. If they are different then either the ISO got corrupted, or the file changed during the process of creating the ISO.
But since I mounted the file system readonly, having the file change is not possible. So why do the md5s not match. Good question. Unfortunately, with 80,000 files in the ISO it takes several hours to get to the point it barfs. Perhaps tonight I will get close to an answer.