Date: Thu, 15 Aug 2019 10:05:24 -0700 From: Ravi Pokala <rpokala@freebsd.org> To: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org> Subject: Re: please help translate smartctl output to human language Message-ID: <0D470EB1-D893-4855-B081-0351DB9FF93E@panasas.com>
next in thread | raw e-mail | index | archive | help
> Date: Thu, 15 Aug 2019 11:28:47 +0100 > From: Graham Perrin <grahamperrin@gmail.com> > To: freebsd-hackers@freebsd.org > Subject: Re: please help translate smartctl output to human language > Message-ID: <7bed2865-46c0-8649-d6b4-79a096f563c8@gmail.com> > Content-Type: text/plain; charset=utf-8; format=flowed > > Where the Reallocated_Sector_Ct RAW_VALUE comprises three values, two of which are in parentheses: > > - what are the two raw values in parentheses? > > A guess: are the two, in parentheses, representations of > Current_Pending_Sector and Reallocated_Event_Count? This doesn't really have anything to do with FreeBSD, but rather with smartmontools. The short version is, the SMART "raw" value is a 48-bit value, which has different interpretations for different attributes. I happen to have a copy of the smartmontools source handy, so I did some quick `grep'ing. In drivedb.h, "Reallocated_Sector_Ct" by default uses the format string "raw16(raw16)". The manpage for `smartctl' reports: | raw16(raw16) - Print the raw attribute as a 16-bit value and two optional 16-bit values if these words are nonzero. This is the default for Attributes 5 and 196. In atacmds.cpp, "raw16(raw16)" is associated with RAWFMT_RAW16_OPT_RAW16, which goes to this code: | case RAWFMT_RAW16_OPT_RAW16: | s = strprintf("%u", word[0]); | if (word[1] || word[2]) | s += strprintf(" (%u %u)", word[2], word[1]); | break; So, it's treating the 48-bit value as three separate 16-bit words, and is reporting them separately. In your case, the value of the low 16-bits is 24 (0x0018), the value of the middle 16-bits is 3 (0x0003), and the value of the high 16-bits is 0 (0x0000). -Ravi (rpokala@) > Here, for example: > > root@momh167-gjp4-8570p:~ # smartctl -a /dev/ada0 | grep -E 'Reall|Pending' > ? 5 Reallocated_Sector_Ct?? 0x0033?? 100?? 100?? 005??? Pre-fail Always?????? -?????? 24 (0 3) > 196 Reallocated_Event_Count 0x0032?? 100?? 100?? 000??? Old_age Always?????? -?????? 3 > 197 Current_Pending_Sector? 0x0032?? 100?? 100?? 000??? Old_age Always?????? -?????? 0 > root@momh167-gjp4-8570p:~ # > > In context: > > <https://s.put.re/dwcfGGKE.png> > > <https://gist.github.com/grahamperrin/e624d443d3f10c7162ac7986f599fbd6#file-hgst_hts725050a7e630_tf0500y906l81l_2019-08-15-txt-L69>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0D470EB1-D893-4855-B081-0351DB9FF93E>