Opened 4 years ago
Closed 4 years ago
#1397 closed defect (wontfix)
Don't report ATA attribute failure if value is equal to threshold
Reported by: | Christian Franke | Owned by: | Christian Franke |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | all | Version: | |
Keywords: | ata | Cc: |
Description
ATA Attributes are reported as FAIL: NOW
if VALUE <= THRESH
since the early days of smartmontools (2002). The same applies to FAIL: PAST
if WORST <= THRESH
.
This is possibly because the original SMART specs did not specify whether <=
or <
should be used. The official ATA specs never defined SMART attributes and declared SMART READ DATA as obsolete in ACS-4 (2017).
Some recent drives return 255 for all three values which results in a bogus FAIL: NOW
status (see ticket #1396):
Device Model: Seagate IronWolfPro ZA3840NX10001-2ZH104 ... ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE ... 246 Unknown_Attribute PO---- 255 255 255 NOW 0 ... |______ P prefailure warning
Comparison should be changed to VALUE < THRESH
to better handle such corner cases.
Change History (3)
comment:1 by , 4 years ago
Owner: | set to |
---|---|
Status: | new → accepted |
comment:2 by , 4 years ago
comment:3 by , 4 years ago
Milestone: | Release 7.2 |
---|---|
Resolution: | → wontfix |
Status: | accepted → closed |
This change would violate SMART Attribute spec from ATA-3. Later specs do not exist. See above comment for details.
I take that back. Quote from X3T13/2008D (ATA-3) Revision 7b, January 27, 1997:
6.6.4 Threshold exceeded condition
If one or more attribute values are less than or equal to their corresponding attribute thresholds, then the device reliability status indicates an impending degrading or fault condition.
and
Table 18 - Individual threshold data structure
...
0x00 “always passing” threshold value to be used for code test purposes
0x01 minimum value for normal operation
0xFD maximum value for normal operation
0xFE invalid for threshold value - not to be used
0xFF “always failing” threshold value to be used for code test purposes
...
ATA SMART Attributes are no longer documented in later versions of the standard.
Seagate IronWolf Pro 125 (#1396) violates this spec because it returns 0xFF as threshold.