A tool for remapping bad sectors in CURRENT?

Miroslav Lachman 000.fbsd at quip.cz
Thu Mar 18 10:29:33 UTC 2010


Dag-Erling Smørgrav wrote:
> Miroslav Lachman<000.fbsd at quip.cz>  writes:
>> Dag-Erling Smørgrav<des at des.no>  writes:
>>> Uh, 79725167 - 63 = 79725104 and 79725104 - 39845888 = 39879216.  How
>>> did you arrive at 39879105?
>> I am sorry, it was my confusion.
>> My calculation was for *LBA=79725056* reported in messages:
>>
>> ad4: FAILURE - READ_DMA status=51<READY,DSC,ERROR>  error=40<UNCORRECTABLE>  LBA=79725056
>
> off-by-111...
>
> Are you sure 'smartctl -l error' reports only one error?

There is really only one error. The example from my e-mail is half a 
year old, but the disk is running fine from this time. The error occured 
at the initial gmirror sync. No more errors shown after rewriting the 
disk with zeros.

As you can see, there are really two different numbers
LBA=79725056 in messages and LBA = 0x04c0826f = 79725167 in SMART log.


root at edith ~/# zcat /var/log/messages.3.bz2 | grep LBA

Sep 23 23:58:00 edith kernel: ad4: FAILURE - READ_DMA 
status=51<READY,DSC,ERROR> error=40<UNCORRECTABLE> LBA=79725056

-----------------------------

root at edith ~/# smartctl -l error /dev/ad4

smartctl version 5.38 [amd64-portbld-freebsd7.2] Copyright (C) 2002-8 
Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 1
         CR = Command Register [HEX]
         FR = Features Register [HEX]
         SC = Sector Count Register [HEX]
         SN = Sector Number Register [HEX]
         CL = Cylinder Low Register [HEX]
         CH = Cylinder High Register [HEX]
         DH = Device/Head Register [HEX]
         DC = Device Command Register [HEX]
         ER = Error register [HEX]
         ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
   When the command that caused the error occurred, the device was 
active or idle.

   After command completion occurred, registers were:
   ER ST SC SN CL CH DH
   -- -- -- -- -- -- --
   40 51 00 6f 82 c0 44  Error: UNC at LBA = 0x04c0826f = 79725167

   Commands leading to the command that caused the error were:
   CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
   -- -- -- -- -- -- -- --  ----------------  --------------------
   c8 00 00 00 82 c0 44 00  25d+23:23:36.710  READ DMA
   c8 00 00 00 81 c0 44 00  25d+23:23:36.710  READ DMA
   c8 00 00 00 80 c0 44 00  25d+23:23:36.710  READ DMA
   c8 00 00 00 7f c0 44 00  25d+23:23:36.710  READ DMA
   c8 00 00 00 7e c0 44 00  25d+23:23:36.710  READ DMA

Miroslav Lachman


More information about the freebsd-current mailing list