On 04/25/2013 12:09 PM, Yasha Karant wrote:
>>> You'd presumably want the "non-destructive" tests...
>>
>> smartctl -t long is probably a better option. If a small number of bad
>> blocks are detected they should be swapped out by the drive itself
>> meaning they are transparent to the FS. You won't see any of that with
>> badblocks.
>>
>> Jeff
>
> Such blocks swapped out by the hardware controller built into the hard
> drive (the controller to which the computer hard drive interface
> controller communicates -- e.g., the SATA controller on a motherboard)
> might or might not be transparent.
Correct. I didn't mean "transparent" as in no data is lost. I meant
that if the HD controller can't _read_ that block it will substitute a
spare block for future _writes_ to that block so there is no benefit for
the filesystem to mark that block as bad -- even if it was bad at some
point in the past.
Once the controller has run out of spare blocks then running badblocks
might be a beneficial thing, though I would argue the drive is well
along its way to catastrophic failure by that point and it should simply
be replaced.
Jeff