diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-08-06 20:35:21 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-08-06 20:35:21 +0200 |
commit | b7f3834654cb05f5a8aae6b2381d548f49d72987 (patch) | |
tree | a0fbe0c2e6daba85477f357ee607fd9f7f1d34ca /atasmart.h | |
parent | 04cc540cda9cb5055c00dfb7271bc483808483f4 (diff) |
rework lgoic that determines verdict of drive
Distuingish attributes that are failing now vs. failed in the past.
Add 'warn' field that is used to signal UIs to highlight certain
attributes.
Beef up the "overall status" logic a bit.
This breaks ABI. Depending on your client this might break API too.
Diffstat (limited to 'atasmart.h')
-rw-r--r-- | atasmart.h | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -157,8 +157,10 @@ typedef struct SkSmartAttributeParsedData { SkBool prefailure:1; /* Volatile data */ - SkBool good:1, good_valid:1; + SkBool good_now:1, good_now_valid:1; + SkBool good_in_the_past:1, good_in_the_past_valid:1; SkBool current_value_valid:1, worst_value_valid:1; + SkBool warn:1; uint8_t current_value, worst_value; uint64_t pretty_value; uint8_t raw[6]; @@ -171,9 +173,11 @@ typedef struct SkDisk SkDisk; typedef enum SkSmartOverall { SK_SMART_OVERALL_GOOD, - SK_SMART_OVERALL_BAD_STATUS, /* Smart Self Assessment negative */ - SK_SMART_OVERALL_BAD_SECTOR, /* At least one bad sector */ - SK_SMART_OVERALL_BAD_ATTRIBUTE, /* At least one pre-fail attribute exceeded its threshold in the past or now */ + SK_SMART_OVERALL_BAD_ATTRIBUTE_IN_THE_PAST, /* At least one pre-fail attribute exceeded its threshold in the past */ + SK_SMART_OVERALL_BAD_SECTOR, /* At least one bad sector */ + SK_SMART_OVERALL_BAD_ATTRIBUTE_NOW, /* At least one pre-fail attribute is exceeding its threshold now */ + SK_SMART_OVERALL_BAD_SECTOR_MANY, /* Many bad sectors */ + SK_SMART_OVERALL_BAD_STATUS, /* Smart Self Assessment negative */ _SK_SMART_OVERALL_MAX /* This enum may be extended at any time without this being |