On 06/10/09 17:41, Paul B. Henson wrote:
On Wed, 10 Jun 2009, Eric Schrock wrote:

bad data under diskstat when in a X4500, or is it just another drive of
the same type?  If it's the former, then it's a clear indication that
there is a bug in the kernel SATL framework.

Okay, I pulled my SSD out of the x4500 and hooked it up to a linux system
to see what it had to say about the smart info.

All of the detailed output is at the bottom for anyone interested.

The initial query to the SSD indicated that the self test log was empty
and:

        Self-test execution status:      (32) The self-test routine was
                                        interrupted
                                        by the host with a hard or soft
                                        reset.

I then initiated a couple of self tests, after which the data was:

        Self-test execution status:      (   0) The previous self-test routine
                                        completed
                                        without error or no self-test has
                                        ever
                                        been run.

        SMART Self-test log structure revision number 1
        Num  Test_Description    Status                  Remaining  
LifeTime(hours)
        LBA_of_first_error
        # 1  Extended offline    Completed without error       00%        68
        -
        # 2  Short offline       Completed without error       00%        68
        -

I reinstalled the disk back into the x4500 hoping that now that there were
valid self test records it might be happy, but unfortunately:

        self-test-failure = (embedded nvlist)
        nvlist version: 0
                result-code = 0x4
                timestamp = 0x48a5
                segment = 0x0
                address = 0xa548a548a548
        (end self-test-failure)

Now it looks like a bunch of repetitions of '0x48a5'; different, but still
wrong.

According to smartctl, the Hitachi 1TB drive that had been in the system
for almost a year has never run a self test. Obviously fma looks for self
test logs, but does it ever actually initiate a self test? It seems kind of
a waste to review the logs for tests that are never made.

In any case, this definitely looks like a Solaris specific problem, not a
general problem with the drive. Please let me know if there are any other
tests you want me to try with the drive. I have a sun service contract, if
it is a driver bug, would there be any benefit in opening a case about it?

I will open a CR to track this issue. Based on the incredibly useful data you have provided, my best guess is that this is a bug in the SATA translation being done by the sata module in the kernel. I'm going to consult the SATL spec and see if I can figure out what is going on. I may give you another binary to run that will pull the raw SATA data via a pass-through command so that I can then walk through whatever the kernel is doing.

Thanks for all your help, I'll let yo know what I figure out.

- Eric


Is there any way to disable the self-check test in fma? As it appears self
checks are not being initiated, there seems no benefit in checking the logs
for them on the stock sun drives, and that would keep my SSD from being
erroneously faulted until the problem is resolved.

Thanks much...




Initial smart info from SSD:

--------------------------------------------------------------------------
=== START OF INFORMATION SECTION ===
Device Model:     SSDSA2SH032G1GN INTEL
Serial Number:    CVEM902600J6032HGN
Firmware Version: 045C8626
User Capacity:    32,000,000,000 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 1
Local Time is:    Wed Jun 10 06:37:16 2009 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection:
Disabled.
Self-test execution status:      (  32) The self-test routine was
interrupted
                                        by the host with a hard or soft
reset.
Total time to complete Offline
data collection:                 (   1) seconds.
Offline data collection
capabilities:                    (0x75) SMART execute Offline immediate.
                                        No Auto Offline data collection
support.
                                        Abort Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (   5) minutes.
Conveyance self-test routine
recommended polling time:        (   1) minutes.

SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED
WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0000   100   000   000    Old_age   Offline
In_the_past 0
  4 Start_Stop_Count        0x0000   100   000   000    Old_age   Offline
In_the_past 0
  5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always
-       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always
-       67
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always
-       140
192 Power-Off_Retract_Count 0x0002   100   100   000    Old_age   Always
-       21
232 Unknown_Attribute       0x0003   100   100   010    Pre-fail  Always
-       0
233 Unknown_Attribute       0x0002   099   099   000    Old_age   Always
-       0
225 Load_Cycle_Count        0x0000   200   200   000    Old_age   Offline
-       50147

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective Self-Test Log Data Structure Revision Number (0) should be
1
SMART Selective self-test log data structure revision number 0
Warning: ATA Specification requires selective self-test log data structure
revision number = 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

--------------------------------------------------------------------------

smart info after manually running self tests on SSD:

--------------------------------------------------------------------------

=== START OF INFORMATION SECTION ===
Device Model:     SSDSA2SH032G1GN INTEL
Serial Number:    CVEM902600J6032HGN
Firmware Version: 045C8626
User Capacity:    32,000,000,000 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 1
Local Time is:    Wed Jun 10 07:05:30 2009 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection:
Disabled.
Self-test execution status:      (   0) The previous self-test routine
completed
                                        without error or no self-test has
ever
                                        been run.
Total time to complete Offline
data collection:                 (   1) seconds.
Offline data collection
capabilities:                    (0x75) SMART execute Offline immediate.
                                        No Auto Offline data collection
support.
                                        Abort Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (   5) minutes.
Conveyance self-test routine
recommended polling time:        (   1) minutes.

SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED
WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0000   100   000   000    Old_age   Offline
In_the_past 0
  4 Start_Stop_Count        0x0000   100   000   000    Old_age   Offline
In_the_past 0
  5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always
-       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always
-       68
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always
-       140
192 Power-Off_Retract_Count 0x0002   100   100   000    Old_age   Always
-       21
232 Unknown_Attribute       0x0003   100   100   010    Pre-fail  Always
-       0
233 Unknown_Attribute       0x0002   099   099   000    Old_age   Always
-       0
225 Load_Cycle_Count        0x0000   200   200   000    Old_age   Offline
-       50147

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)
LBA_of_first_error
# 1  Extended offline    Completed without error       00%        68
-
# 2  Short offline       Completed without error       00%        68
-

SMART Selective Self-Test Log Data Structure Revision Number (0) should be
1
SMART Selective self-test log data structure revision number 0
Warning: ATA Specification requires selective self-test log data structure
revision number = 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

-------------------------------------------------

x4500 SSD disk status after manual self tests:

-------------------------------------------------
nvlist version: 0
        protocol = scsi
        status = (embedded nvlist)
        nvlist version: 0
                command-length = 6
                modepages = (embedded nvlist)
                nvlist version: 0
                        informational-exceptions = (embedded nvlist)
                        nvlist version: 0
                                dexcpt = 0
                                logerr = 0
                                mrie = 0x6
                                test = 0
                                ewasc = 0
                                perf = 0
                                ebf = 0
                                interval-timer = 0x0
                                report-count = 0x0
                                changed = 0
                        (end informational-exceptions)

                (end modepages)

                logpages = (embedded nvlist)
                nvlist version: 0
                        informational-exceptions = (embedded nvlist)
                        nvlist version: 0
                                length = 0x8
                                general = 1
                        (end informational-exceptions)

                        self-test = (embedded nvlist)
                        nvlist version: 0
                                length = 0x190
                        (end self-test)

                (end logpages)

        (end status)

        predictive-failure = (embedded nvlist)
        nvlist version: 0
                additional-sense-code = 0x0
                additional-sense-code-qualifier = 0x0
        (end predictive-failure)

        self-test-failure = (embedded nvlist)
        nvlist version: 0
                result-code = 0x4
                timestamp = 0x48a5
                segment = 0x0
                address = 0xa548a548a548
        (end self-test-failure)

        faults = (embedded nvlist)
        nvlist version: 0
                predictive-failure = 0
                self-test-failure = 1
        (end faults)
-------------------------------------------------

smart info from SSD after running selective test and filling up test log:

--------------------------------------------------
smartctl version 5.38 [x86_64-pc-linux-gnu] Copyright (C) 2002-8 Bruce
Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     SSDSA2SH032G1GN INTEL
Serial Number:    CVEM902600J6032HGN
Firmware Version: 045C8626
User Capacity:    32,000,000,000 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 1
Local Time is:    Wed Jun 10 09:38:56 2009 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
See vendor-specific Attribute list for marginal Attributes.

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection:
Disabled.
Self-test execution status:      (   0) The previous self-test routine
completed
                                        without error or no self-test has
ever
                                        been run.
Total time to complete Offline
data collection:                 (   1) seconds.
Offline data collection
capabilities:                    (0x75) SMART execute Offline immediate.
                                        No Auto Offline data collection
support.
                                        Abort Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (   5) minutes.
Conveyance self-test routine
recommended polling time:        (   1) minutes.

SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED
WHEN_FAILED RAW_VALUE
  3 Spin_Up_Time            0x0000   100   000   000    Old_age   Offline
In_the_past 0
  4 Start_Stop_Count        0x0000   100   000   000    Old_age   Offline
In_the_past 0
  5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always
-       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always
-       68
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always
-       143
192 Power-Off_Retract_Count 0x0002   100   100   000    Old_age   Always
-       22
232 Unknown_Attribute       0x0003   100   100   010    Pre-fail  Always
-       0
233 Unknown_Attribute       0x0002   099   099   000    Old_age   Always
-       0
225 Load_Cycle_Count        0x0000   200   200   000    Old_age   Offline
-       50147

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)
LBA_of_first_error
# 1  Short offline       Completed without error       00%        68
-
# 2  Short offline       Completed without error       00%        68
-
# 3  Short offline       Completed without error       00%        68
-
# 4  Short offline       Completed without error       00%        68
-
# 5  Short offline       Completed without error       00%        68
-
# 6  Short offline       Completed without error       00%        68
-
# 7  Short offline       Completed without error       00%        68
-
# 8  Short offline       Completed without error       00%        68
-
# 9  Short offline       Completed without error       00%        68
-
#10  Short offline       Completed without error       00%        68
-
#11  Short offline       Completed without error       00%        68
-
#12  Short offline       Completed without error       00%        68
-
#13  Short offline       Completed without error       00%        68
-
#14  Short offline       Completed without error       00%        68
-
#15  Short offline       Completed without error       00%        68
-
#16  Short offline       Completed without error       00%        68
-
#17  Short offline       Completed without error       00%        68
-
#18  Selective offline   Completed without error       00%        68
-
#19  Selective offline   Completed without error       00%        68
-
#20  Selective offline   Completed without error       00%        68
-
#21  Conveyance offline  Completed without error       00%        68
-

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1       20       30  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Completed [00% left] (0-65535)
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
--------------------------------------------------

smart info from Sun 1TB HD:

--------------------------------------------------

=== START OF INFORMATION SECTION ===
Device Model:     HITACHI HUA7210SASUN1.0T 0814G8BRPF
Serial Number:    GTF002PAJ8BRPF
Firmware Version: GKAOA90A
User Capacity:    1,000,204,886,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 1
Local Time is:    Wed Jun 10 09:39:56 2009 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection:
Enabled.
Self-test execution status:      (   0) The previous self-test routine
completed
                                        without error or no self-test has
ever
                                        been run.
Total time to complete Offline
data collection:                 (15354) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off
support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 255) minutes.
SCT capabilities:              (0x003f) SCT Status supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED
WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always
-       0
  2 Throughput_Performance  0x0005   130   130   054    Pre-fail  Offline
-       150
  3 Spin_Up_Time            0x0007   105   105   024    Pre-fail  Always
-       665 (Average 663)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always
-       20
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always
-       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always
-       0
  8 Seek_Time_Performance   0x0005   132   132   020    Pre-fail  Offline
-       33
  9 Power_On_Hours          0x0012   100   100   000    Old_age   Always
-       4161
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always
-       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always
-       20
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always
-       189
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always
-       189
194 Temperature_Celsius     0x0002   157   157   000    Old_age   Always
-       38 (Lifetime Min/Max 22/40)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always
-       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always
-       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline
-       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always
-       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
----------------------------------------------------



--
Eric Schrock, Fishworks                    http://blogs.sun.com/eschrock
_______________________________________________
fm-discuss mailing list
fm-discuss@opensolaris.org

Reply via email to