OK, I'll take a nibble. (flames invited where I've got anything wrong)
You use OpenBSD where sloppy doesn't quite do what you need to be done.
This is a world where a false sense of security is not your friend.
"This disk is good because it passed badblocks" is NOT valid.
I've got too many "rescued" disks that will probably keep on working.
probably: better then 50%. (but it sounds good)
depending on lots of probables is really instant death.
IF badblocks passed a disk as clean, and there were good reason to
beleieve that that disk was actually clean, and that it would STAY
clean, then it (badblocks) would be a good program.
Unfortunately, there is not much of anything that badblocks, or the
vendors' programs CAN do that is much of an assurance of reliability.
You might get some idea from the reliability of "reconditioned"
drives versus the reliability of actually new drives. And the vendors
have better tools (if such as better tools actually exist).
WITHOUT going into HW or OS handling of bad sectors, simply rename
files or directories something like BAD_STUFF and NEVER delete 'em.
There are exotic ways of increasing risk by keeping the most of the
not-failed-yet neighbors as supposedly good sectors.
You can do much of that by partitioning to avoid places with a lot
of bad stuff. With the prices and capacities of modern disks, all
of this must assume that you have lots of time and need something to
occupy that time. Watching grass grow is probably more exciting.
For a new disk (one that does not need to go into production soon)
you can run a very long winded excercise. Seroing and reading
probably as effective and certainly faster than 0xAA 0x55 0xFF 0x00
There SHOULD be good data forthcoming from the SMART stuff.
BUT, so far I've haven't heard noises from that corner, just wise-
cracks about vendor diags. Presumably, SHOULD does not imply IS.
IF you have anything resembling money, and do not have lots of
free time on your hands, the best advice seems to be to replace
quickly anything that shows any sign of trouble.
(This might be an actual good use of benchmarks ;-)
Reading will reallocate sectors.
The sector after the reallocation will be readable.
The contents of this now readable sector will be the orginal contents
if the drive managed to successully eventually read those original
contents, seems like whatever the drive can fake in some cases.
Seems like with NO indication of problems in some cases at least.
Very hard to be certain at this level (using inferior OSes)
Short answer, is that AFTER a long and complicated process, there
is no reason to believe that the contents of the now-readable disk
are the original contents that should be on that disk.
My own experience is that by the time there is reason to suspect,
it is odds on that the now readable contents are NOT the originals.
Shorter answer. Best to trust people who know more about this than I do.
(and I've got time and have messed with a bunch of broken disks)