Failed disk sectors

Peter Jeremy peterjeremy at optushome.com.au
Sat Mar 4 07:16:56 UTC 2006


On Fri, 2006-Mar-03 17:23:33 -0800, Doug Hardie wrote:
>The drive SMART status show plenty of available spare sectors, but  
>since it can't read those sectors it won't remap them to a spare  
>sector till the next write of that sector.

It's probably a good idea to start think about replacing the disk
anyway.

>I have not found anything in the archives or man pages or ports that  
>addresses identifying the object/file that has that LBA.

Look at the thread starting
http://lists.FreeBSD.org/pipermail/freebsd-hackers/2006-February/015475.html

>  So I assume I would have to subtract the start  
>of that partition from the LBA.

Yes.

>  However, that assumes that the LBA  
>is in the same 512 byte block numbering system.

It is.  You can always double check by verifying that the superblocks
are where you calculate they should be and that when you translate the
LBA to an offset within the partition, you get an error when you
attempt to read that LBA within the partition.

>Next has to address the bsdlabel.  I am now presuming that the LBA  
>value of 0 is the start of the drive, not the start of the  
>partition.

I'm almost certain they are - the error message would include the
slice/partition number if they were relative to the start of the
slice/partition (otherwise you couldn't be certain which slice/
partition was affected).  Again, you can check by verifying that
the superblocks are where you expect and the translated LBAs give
errors.

>At that point I think I have the values that would be found in the  
>block tables in the inodes.

It could also be in the cylinder group metadata - superblock copy,
inodes or free block bitmaps.  And remember to correctly handle
indirect blocks.

>Before digging into the inode structures I though it would be a good  
>idea to check my understanding to this point.  Am I on the right path?

Yes you are.

-- 
Peter Jeremy


More information about the freebsd-stable mailing list