fix: complete hardware collection diagnostics

This commit is contained in:
2026-08-25 17:04:33 +03:00
parent 33ace33de5
commit ccc781856e
19 changed files with 311 additions and 81 deletions
+10 -2
View File
@@ -124,6 +124,7 @@ func writeNVMeReport(b *strings.Builder, outputs map[string][]byte) {
writtenBytes: writtenBytes,
readBytes: readBytes,
capacityBytes: capacityBytes,
healthKnown: true,
}
writeResourceSection(b, ri)
@@ -232,6 +233,7 @@ func writeSATAReport(b *strings.Builder, outputs map[string][]byte) {
capacityBytes: capacityBytes,
readPercent: 100 - readValue,
hasReadPercent: hasReadValue,
healthKnown: !strings.EqualFold(health, "unknown"),
}
writeResourceSection(b, ri)
@@ -341,6 +343,7 @@ const (
type resourceInfo struct {
powerOnHours uint64
healthKnown bool
powerCycles uint64
writtenBytes uint64
readBytes uint64
@@ -393,7 +396,10 @@ func writeConclusionSection(b *strings.Builder, r resourceInfo) {
writeSectionHeader(b, "Conclusion")
var reasons, notes []string
isNew := true
isNew := r.healthKnown
if !r.healthKnown {
notes = append(notes, "SMART overall health unavailable — disk cannot be accepted as NEW")
}
if r.capacityBytes > 0 {
writtenFrac := float64(r.writtenBytes) / float64(r.capacityBytes)
@@ -424,7 +430,9 @@ func writeConclusionSection(b *strings.Builder, r resourceInfo) {
reasons = append(reasons, fmt.Sprintf("power cycles %s", formatUint(r.powerCycles)))
}
if isNew {
if !r.healthKnown {
writeField(b, "Disk Condition", "UNVERIFIED")
} else if isNew {
writeField(b, "Disk Condition", "NEW")
} else {
writeField(b, "Disk Condition", "USED")