@glassmkr/crucible 0.13.25 → 0.13.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -173,21 +173,52 @@ describe("parseSmartctlJson", () => {
|
|
|
173
173
|
udma_crc_errors: 11,
|
|
174
174
|
});
|
|
175
175
|
});
|
|
176
|
-
it("unpacks
|
|
177
|
-
//
|
|
178
|
-
// higher words carrying threshold-bucketed variants. A plain counter that
|
|
179
|
-
// fits in 16 bits must pass through untouched.
|
|
176
|
+
it("unpacks the packed 188 raw ONLY on Seagate; 187/189 stay verbatim", () => {
|
|
177
|
+
// Seagate packs 188 as 16-bit sub-counters; the low 16 bits are the count.
|
|
180
178
|
expect(unpackSeagateCounter(0)).toBe(0);
|
|
181
179
|
expect(unpackSeagateCounter(7)).toBe(7);
|
|
182
180
|
expect(unpackSeagateCounter(0x000100000002)).toBe(2);
|
|
183
|
-
const
|
|
181
|
+
const seagate = parseSmartctlJson({
|
|
184
182
|
model_name: "ST12000NM0007",
|
|
185
183
|
smart_status: { passed: true },
|
|
186
184
|
ata_smart_attributes: {
|
|
187
|
-
table: [
|
|
185
|
+
table: [
|
|
186
|
+
{ id: 188, name: "Command_Timeout", raw: { value: 0x000100000002 } },
|
|
187
|
+
// 187/189 are NOT packed even on Seagate: must pass through verbatim,
|
|
188
|
+
// never truncated by a magnitude heuristic.
|
|
189
|
+
{ id: 187, name: "Reported_Uncorrect", raw: { value: 0x000100000002 } },
|
|
190
|
+
{ id: 189, name: "High_Fly_Writes", raw: { value: 70000 } },
|
|
191
|
+
],
|
|
188
192
|
},
|
|
189
193
|
}, "/dev/sdc");
|
|
190
|
-
expect(
|
|
194
|
+
expect(seagate.command_timeout).toBe(2);
|
|
195
|
+
expect(seagate.reported_uncorrectable).toBe(0x000100000002);
|
|
196
|
+
expect(seagate.high_fly_writes).toBe(70000);
|
|
197
|
+
});
|
|
198
|
+
it("leaves a non-Seagate 188 verbatim even above 65535 (no false truncation)", () => {
|
|
199
|
+
// A WD drive reporting a genuine large 188 must not be truncated: the
|
|
200
|
+
// >0xffff heuristic is Seagate-only, or a real count corrupts.
|
|
201
|
+
const wd = parseSmartctlJson({
|
|
202
|
+
model_name: "WDC WD40EFRX",
|
|
203
|
+
smart_status: { passed: true },
|
|
204
|
+
ata_smart_attributes: {
|
|
205
|
+
table: [{ id: 188, name: "Command_Timeout", raw: { value: 70000 } }],
|
|
206
|
+
},
|
|
207
|
+
}, "/dev/sdb");
|
|
208
|
+
expect(wd.command_timeout).toBe(70000);
|
|
209
|
+
});
|
|
210
|
+
it("does not read a SATA-SSD id-189 (SSD Health Flags) as high fly writes", () => {
|
|
211
|
+
// Seagate Nytro XF1230 SATA SSD reports id 189 as "SSD_Health_Flags", not
|
|
212
|
+
// head-flying. 189 is name-gated so a flags bitfield never feeds the
|
|
213
|
+
// high-fly-writes burst detector.
|
|
214
|
+
const ssd = parseSmartctlJson({
|
|
215
|
+
model_name: "XF1230-1A0480",
|
|
216
|
+
smart_status: { passed: true },
|
|
217
|
+
ata_smart_attributes: {
|
|
218
|
+
table: [{ id: 189, name: "SSD_Health_Flags", raw: { value: 8 } }],
|
|
219
|
+
},
|
|
220
|
+
}, "/dev/sdb");
|
|
221
|
+
expect(ssd.high_fly_writes).toBeUndefined();
|
|
191
222
|
});
|
|
192
223
|
it("summarizes the self-test log, keeping the newest failure separate", () => {
|
|
193
224
|
// Newest entry is a later PASSING short test; the read failure two slots
|
|
@@ -218,6 +249,24 @@ describe("parseSmartctlJson", () => {
|
|
|
218
249
|
error_count_total: 1,
|
|
219
250
|
});
|
|
220
251
|
});
|
|
252
|
+
it("classifies a fatal self-test (nibble 3) as a failure even when smartctl omits `passed`", () => {
|
|
253
|
+
// smartmontools deliberately omits status.passed for nibble 3
|
|
254
|
+
// (fatal/unknown error). Failure detection must rely on the high nibble
|
|
255
|
+
// alone, or a fatal self-test failure is silently dropped.
|
|
256
|
+
const info = parseSmartctlJson({
|
|
257
|
+
model_name: "WDC WD100EFAX",
|
|
258
|
+
smart_status: { passed: true },
|
|
259
|
+
power_on_time: { hours: 500 },
|
|
260
|
+
ata_smart_self_test_log: {
|
|
261
|
+
standard: {
|
|
262
|
+
table: [
|
|
263
|
+
{ type: { string: "Extended offline" }, status: { value: 0x30, string: "Completed: unknown failure or in progress" }, lifetime_hours: 480 },
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
}, "/dev/sdf");
|
|
268
|
+
expect(info.self_test?.last_failed_lifetime_hours).toBe(480);
|
|
269
|
+
});
|
|
221
270
|
it("does not treat an aborted self-test as a failure", () => {
|
|
222
271
|
// Status nibble 1 = aborted by host. Some smartctl versions mark it
|
|
223
272
|
// passed=false; an abort is an interruption, not a drive failure.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart.test.js","sourceRoot":"","sources":["../../../src/collect/__tests__/smart.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smart.test.js","sourceRoot":"","sources":["../../../src/collect/__tests__/smart.test.ts"],"names":[],"mappings":"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"}
|
package/dist/collect/smart.js
CHANGED
|
@@ -104,6 +104,10 @@ export function parseSmartctlJson(data, device) {
|
|
|
104
104
|
// that the regex above already catches. Skip anything that looks like a
|
|
105
105
|
// temperature attribute.
|
|
106
106
|
let ssdWearUsedPct = null;
|
|
107
|
+
// Seagate firmware packs multi-counters into some 48-bit raws; the unpack
|
|
108
|
+
// is applied ONLY to Seagate 188 (see below). Detect by model.
|
|
109
|
+
const modelStr = `${data.model_name ?? ""} ${data.model_family ?? ""}`.toLowerCase();
|
|
110
|
+
const isSeagate = /seagate|\bst\d{3,}/.test(modelStr);
|
|
107
111
|
for (const attr of data.ata_smart_attributes.table) {
|
|
108
112
|
if (attr.id === 5 || attr.name === "Reallocated_Sector_Ct") {
|
|
109
113
|
info.reallocated_sectors = attr.raw?.value || 0;
|
|
@@ -114,19 +118,29 @@ export function parseSmartctlJson(data, device) {
|
|
|
114
118
|
// Drive-health early-warning expansion (2026-07-16): the remaining
|
|
115
119
|
// Backblaze-five markers (187/188/198) plus path (199), mechanical
|
|
116
120
|
// (10, 189) and remap-event (196) counters. Raw values only; the
|
|
117
|
-
// dashboard owns threshold/trend interpretation.
|
|
118
|
-
// through the Seagate unpacker because Seagate firmware packs
|
|
119
|
-
// multiple 16-bit counters into the 48-bit raw (documented for 188:
|
|
120
|
-
// low 16 bits = actual timeouts); a verbatim raw would read as an
|
|
121
|
-
// absurd count on Exos/Barracuda drives.
|
|
121
|
+
// dashboard owns threshold/trend interpretation.
|
|
122
122
|
if (attr.id === 187 || attr.name === "Reported_Uncorrect") {
|
|
123
|
-
|
|
123
|
+
// Verbatim: smartmontools treats 187 as a raw 48-bit value. Only
|
|
124
|
+
// Seagate 188 is a documented packed counter (see below), so do NOT
|
|
125
|
+
// truncate 187 (a magnitude heuristic would corrupt a legitimate
|
|
126
|
+
// count above 65535 on any vendor).
|
|
127
|
+
info.reported_uncorrectable = attr.raw?.value || 0;
|
|
124
128
|
}
|
|
125
129
|
if (attr.id === 188 || attr.name === "Command_Timeout") {
|
|
126
|
-
|
|
130
|
+
// Seagate packs 188 as three 16-bit counters in the 48-bit raw; the
|
|
131
|
+
// low 16 bits are the actual timeout count. Unpack ONLY on Seagate;
|
|
132
|
+
// every other vendor reports a plain raw that must pass through, or a
|
|
133
|
+
// genuine large count would be truncated.
|
|
134
|
+
const raw = attr.raw?.value || 0;
|
|
135
|
+
info.command_timeout = isSeagate ? unpackSeagateCounter(raw) : raw;
|
|
127
136
|
}
|
|
128
|
-
|
|
129
|
-
|
|
137
|
+
// 189: name-gated, NOT id-gated. ID 189 is High_Fly_Writes on rotating
|
|
138
|
+
// HDDs but "SSD Health Flags" (PLP/thermal state) on some SATA SSDs
|
|
139
|
+
// (e.g. Seagate Nytro XF1230), where an id-only match would feed a
|
|
140
|
+
// flags bitfield into the high-fly-writes burst detector as a false
|
|
141
|
+
// warning. The drivedb name is authoritative (the id-231 lesson).
|
|
142
|
+
if (attr.name === "High_Fly_Writes") {
|
|
143
|
+
info.high_fly_writes = attr.raw?.value || 0;
|
|
130
144
|
}
|
|
131
145
|
if (attr.id === 10 || attr.name === "Spin_Retry_Count") {
|
|
132
146
|
info.spin_retries = attr.raw?.value || 0;
|
|
@@ -169,13 +183,15 @@ export function parseSmartctlJson(data, device) {
|
|
|
169
183
|
const selftest = data.ata_smart_self_test_log?.standard;
|
|
170
184
|
if (selftest?.table && selftest.table.length > 0) {
|
|
171
185
|
const newest = selftest.table[0];
|
|
172
|
-
// Failure = status nibble 3..8 (fatal/unknown/electrical/servo/read/
|
|
173
|
-
// handling damage per ATA)
|
|
174
|
-
// interrupted-by-reset (2)
|
|
175
|
-
//
|
|
186
|
+
// Failure = status high nibble 3..8 (fatal/unknown/electrical/servo/read/
|
|
187
|
+
// handling damage per ATA), which already excludes aborted-by-host (1)
|
|
188
|
+
// and interrupted-by-reset (2). The nibble is the authoritative signal;
|
|
189
|
+
// we do NOT also require status.passed === false, because smartmontools
|
|
190
|
+
// omits `passed` for nibble 3 (fatal/unknown), so an AND would silently
|
|
191
|
+
// drop a fatal self-test failure.
|
|
176
192
|
const failed = selftest.table.find((e) => {
|
|
177
193
|
const nibble = (e.status?.value ?? 0) >> 4;
|
|
178
|
-
return
|
|
194
|
+
return nibble >= 3 && nibble <= 8;
|
|
179
195
|
});
|
|
180
196
|
info.self_test = {
|
|
181
197
|
last_type: newest.type?.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../src/collect/smart.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../src/collect/smart.ts"],"names":[],"mappings":"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"}
|