On Sat, Aug 17, 2013 at 10:51:36PM +0100, Mik J wrote:
> Hello,
>
> In my message log file I have
> /bsd: wd1g: uncorrectable data error
> reading fsbn 27690576 of 27690560-27690591 (wd1 bn 1951859792; cn 121497 tn
> 166 sn 29), retrying
>
> I used the badblocks utility an checked the whole disk
> and only this block number is faulty.
> I tried to override it with zeros but no
> luck, impossible.
>
> Since I believe my disk is ok, I would like it to avoid
> realocating the block number 27690576. How can I do it ?
The OS reported that it failed to read the bad block -- therefore, the block is
allocated -- to a file, directory, socket, or fifo. As the data within the
block
is now lost, the only recovery is from backup. I don't believe the OS has any
built-in tools that can determine ownership from a block number.
The error could also have been produced if you or another admin just
happened to be reading blocks outside of filesystem control, such as
using
dd(1) with if=/dev/... in that case, the block might be unallocated.
I haven't used it in some time, but if I recall correctly, sysutils/sleuthkit
may be helpful in identifying block ownership.
The badblocks program from sysutils/e2fsprogs can be helpful in forcing a drive
to reallocate the LBA from its set of spare blocks. The data will be lost, but
the "bad block" LBA will become "good" again.