On Sun, 13 Sep 2009, Eric Schrock wrote:

> Actually, it's not one byte - the entire page is garbage (as we saw in
> the dtrace output).  But I'm guessing that smartctl (and hardware SATL)
> is aborting on the first invalid record, while we keep going and blindly
> "translate" one form of garbage into another.

I updated to the new X25-E firmware, and I think it might have resolved the
problem. smartctl under Linux no longer give a warning, and the diskstat
check under Solaris no longer appears to have garbage. I attached output
from smartctl, diskstat, and the dtrace script at the bottom, does it look
like the firmware is returning valid stuff now?

> Absolutely.  The SATA code could definitely be cleaned up to bail when
> processing an invalid record.  I can file a CR for you if you haven't
> already done so.

I haven't; even if the new firmware does resolve the problem, I like
robustness :), so it would still be nice in general for the code to be more
forgiving and perhaps just log a warning.

Thanks...

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

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: 045C8850
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:    Mon Sep 14 18:26:09 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:        (   2) 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
-       151
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
226 Load-in_Time            0x0002   255   000   000    Old_age   Always
In_the_past 4294967295
227 Torq-amp_Count          0x0002   000   000   000    Old_age   Always
FAILING_NOW 281474976710655
228 Power-off_Retract_Count 0x0002   000   000   000    Old_age   Always
FAILING_NOW 4294967295

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  Interrupted [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.

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

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
                                invalid-param-code = 0x0
                        (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)

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


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

Tracing sata self test queries...
sata_ext_smart_selftest_read_log succeeded

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
0123456789abcdef
         0: 01 00 14 00 00 00 00 00 00 00 1e 00 00 00 00 00
................
        10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1f0: 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 c8
................
sata_ext_smart_selftest_read_log succeeded

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
0123456789abcdef
         0: 01 00 14 00 00 00 00 00 00 00 1e 00 00 00 00 00
................
        10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1f0: 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 c8
................
sata_ext_smart_selftest_read_log succeeded

             0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
0123456789abcdef
         0: 01 00 14 00 00 00 00 00 00 00 1e 00 00 00 00 00
................
        10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
        f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
       1f0: 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 c8
................

-- 
Paul B. Henson  |  (909) 979-6361  |  http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst  |  hen...@csupomona.edu
California State Polytechnic University  |  Pomona CA 91768
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to