I just finished helping a client stop his important server (which he unfortunately built with non-RAID drives) to stop freezing. There was a one-sector media error, and every time it hit it, it would pause or freeze or lock up MySQL. I used smartctl to see it, then your "Bad Block HowTo" to figure out exactly which file was going to contain the corruption (so he could go look for a backup copy of that database). Then after very carefully practicing on another, disposable server, I actually used "dd" to zap the one sector, and the drive electronics remapped it away. smartd has stopped noting errors every half-hour in his logs, and I was able to "cp TheAffectedFile /dev/null" without incident, just to test reading it.
Thank you, Bruce! Linux rocks! Generous open source authors rock!
-- Jeff Saxe, Network Engineer
Blue Ridge InternetWorks, Charlottesvile, VA
CCIE # 9376