Opened 9 years ago

Closed 9 years ago

#89 closed defect (fixed)

Use log directory to check for old error/self-test log support

Reported by: Christian Franke Owned by: Christian Franke
Priority: minor Milestone: Release 5.41
Component: all Version: 5.39.1
Keywords: Cc:

Description (last modified by Christian Franke)

Smartctl and smartd assume that the old SMART error log (log address 0x01) is supported if an error-logging capability bit in IDENTIFY or SMART data is set. Same applies to old SMART self-test log (log address 0x06). These logs were introduced in ATA-5 and are now outdated because 48-bit LBA addresses are not supported. Recent devices may only support the newer 48-bit capable logs (extended comprehensive error-log, extended self-test log) introduced in ATA-6.

smartctl -a ... prints misleading messages then:

Error SMART Error Log Read failed: Input/output error
Smartctl: SMART Error Log Read Failed
Error SMART Error Self-Test Log Read failed: Input/output error
Smartctl: SMART Self Test Log Read Failed

Misleading kernel messages may appear during smartd startup:

... kernel: hda: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
... kernel: hda: drive_cmd: error=0x04 { DriveStatusError }
... kernel: ide: failed opcode was: 0xb0
... smartd[...]: Device: /dev/hda, Read SMART Self Test Log Failed
... smartd[...]: Device: /dev/hda, no SMART Self-Test log; remove -l selftest Directive from smartd.conf

(smartctl -x ... is not affected)

Smartctl and smartd should read the log directory (log address 0x00) to check whether the old logs are still supported and print an "unsupported" message if not.

Change History (4)

comment:1 Changed 9 years ago by Christian Franke

Owner: changed from somebody to Christian Franke
Status: newaccepted

comment:2 Changed 9 years ago by Christian Franke

Component: smartctlall
Description: modified (diff)

comment:3 Changed 9 years ago by Christian Franke

Milestone: Release 5.41

comment:4 Changed 9 years ago by Christian Franke

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.