Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Apr 2013 15:50:10 +0530
From:      Ajit Jain <ajit.jain@cloudbyte.com>
To:        Steven Hartland <killing@multiplay.co.uk>
Cc:        freebsd-fs <freebsd-fs@freebsd.org>
Subject:   Re: seeing data corruption with zfs trim functionality
Message-ID:  <CAA71u6ZehJq7LE-m3RMCGgZQPT4U%2BO_m6ezfT-a5ig%2Bd%2Bc8uzQ@mail.gmail.com>
In-Reply-To: <60316751643743738AB83DABC6A5934B@multiplay.co.uk>
References:  <CAA71u6Y5dKZ9O0rqxCpx-9t7DYgTnPZSoNy-iHOnmzrOUYp%2Bvw@mail.gmail.com> <60316751643743738AB83DABC6A5934B@multiplay.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi Steven,

Freebsd Version: 9

SSD: Seagate SSD, complete smartctl output is attached with the mail.
Not sure if I could provide the SSD information that you were looking for.
If not, could you please tell me command (if any) to get the information.

LSI card:
mpslsi0@pci0:2:0:0:     class=0x010700 card=0x30801000 chip=0x00721000
rev=0x03 hdr=0x00
    vendor     = 'LSI Logic / Symbios Logic'
    device     = 'SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]'
    class      = mass storage
    subclass   = SAS

Complete pciconf -lv output is attached with mail.


thanks
ajit



On Mon, Apr 29, 2013 at 1:52 PM, Steven Hartland <killing@multiplay.co.uk>wrote:

> ----- Original Message ----- From: "Ajit Jain" <ajit.jain@cloudbyte.com>
>
>
>  I am running zfs with trim functionality (ported from head). Seeing data
>> corruption when running iotest* with multiple threads (never saw data
>> corruption with single thread).
>>
>> The patches merged to add trim support are as follows:
>> 1. 240868  (zfs trim patch)
>> 2. 230053 and 245252 (block device driver trim support)
>> 3. 239655 (fix an issue in patch 230053)
>>
>> I am "NOT" seeing data corruption in the following cases:
>> 1. Running iotest with single thread (Trim is enabled at entire io stack).
>> 2. Trim is enabled at zfs layer but disable at driver layer i.e. delete
>> method is set to NONE (even with multiple threads).
>>
>>
>> Since patch 240868 alone was not working as I pulled in additional zfs
>> trim
>> patches 244155, 244187, 244188, 248572 (however I am not using separate
>> L2arc device), 248573, 248574, 248575 and 248576. Still I am seeing the
>> same issue.
>>
>> Issue: After some time running with multiple thread write system call
>> return sometimes with EIO or 122 (checksum error) error code.
>>
>> I looked at GEOM code a bit I think it already has the trim (DELETE)
>> command support. Still I am doubtful if I have pulled in all required
>> patches in the entire I/O stack.
>>
>> I am using a LSI SAS HBA card to connect to the SSD, firmware seems to
>> claim the support for trim.
>>
>> *iotest: non standard freebsd FreeBSD utility, which creates files and
>> does
>> I/O on the files and can be invoked in single/multithread mode to do the
>> I/O.
>>
>
> What version are you porting the changes to?
>
> What SSD are you using?
>
> What LSI controller are you using?
>
>    Regards
>    Steve
>
> ==============================**==================
> This e.mail is private and confidential between Multiplay (UK) Ltd. and
> the person or entity to whom it is addressed. In the event of misdirection,
> the recipient is prohibited from using, copying, printing or otherwise
> disseminating it or any information contained in it.
> In the event of misdirection, illegible or incomplete transmission please
> telephone +44 845 868 1337
> or return the E.mail to postmaster@multiplay.co.uk.
>
>

[-- Attachment #2 --]
hostb0@pci0:0:0:0:	class=0x060000 card=0x50001458 chip=0x5a141002 rev=0x02 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'RD890 PCI to PCI bridge (external gfx0 port B)'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:2:0:	class=0x060400 card=0x50001458 chip=0x5a161002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RD890 PCI to PCI bridge (PCI express gpp port B)'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:3:0:	class=0x060400 card=0x50001458 chip=0x5a171002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RD890 PCI to PCI bridge (PCI express gpp port C)'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:4:0:	class=0x060400 card=0x50001458 chip=0x5a181002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RD890 PCI to PCI bridge (PCI express gpp port D)'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:9:0:	class=0x060400 card=0x50001458 chip=0x5a1c1002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RD890 PCI to PCI bridge (PCI express gpp port H)'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:10:0:	class=0x060400 card=0x50001458 chip=0x5a1d1002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'RD890 PCI to PCI bridge (external gfx1 port A)'
    class      = bridge
    subclass   = PCI-PCI
ahci0@pci0:0:17:0:	class=0x01018f card=0xb0021458 chip=0x43901002 rev=0x40 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode]'
    class      = mass storage
    subclass   = ATA
ohci0@pci0:0:18:0:	class=0x0c0310 card=0x50041458 chip=0x43971002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB OHCI0 Controller'
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:18:2:	class=0x0c0320 card=0x50041458 chip=0x43961002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB EHCI Controller'
    class      = serial bus
    subclass   = USB
ohci1@pci0:0:19:0:	class=0x0c0310 card=0x50041458 chip=0x43971002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB OHCI0 Controller'
    class      = serial bus
    subclass   = USB
ehci1@pci0:0:19:2:	class=0x0c0320 card=0x50041458 chip=0x43961002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB EHCI Controller'
    class      = serial bus
    subclass   = USB
none0@pci0:0:20:0:	class=0x0c0500 card=0x00000000 chip=0x43851002 rev=0x42 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SBx00 SMBus Controller'
    class      = serial bus
    subclass   = SMBus
atapci0@pci0:0:20:1:	class=0x01018a card=0x50021458 chip=0x439c1002 rev=0x40 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 IDE Controller'
    class      = mass storage
    subclass   = ATA
none1@pci0:0:20:2:	class=0x040300 card=0xa1321458 chip=0x43831002 rev=0x40 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SBx00 Azalia (Intel HDA)'
    class      = multimedia
    subclass   = HDA
isab0@pci0:0:20:3:	class=0x060100 card=0x439d1002 chip=0x439d1002 rev=0x40 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 LPC host controller'
    class      = bridge
    subclass   = PCI-ISA
pcib6@pci0:0:20:4:	class=0x060401 card=0x00000000 chip=0x43841002 rev=0x40 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'SBx00 PCI to PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
ohci2@pci0:0:20:5:	class=0x0c0310 card=0x50041458 chip=0x43991002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB OHCI2 Controller'
    class      = serial bus
    subclass   = USB
pcib7@pci0:0:21:0:	class=0x060400 card=0x00001002 chip=0x43a01002 rev=0x00 hdr=0x01
    vendor     = 'ATI Technologies Inc'
    device     = 'SB700/SB800 PCI to PCI bridge (PCIE port 0)'
    class      = bridge
    subclass   = PCI-PCI
ohci3@pci0:0:22:0:	class=0x0c0310 card=0x50041458 chip=0x43971002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB OHCI0 Controller'
    class      = serial bus
    subclass   = USB
ehci2@pci0:0:22:2:	class=0x0c0320 card=0x50041458 chip=0x43961002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc'
    device     = 'SB7x0/SB8x0/SB9x0 USB EHCI Controller'
    class      = serial bus
    subclass   = USB
hostb1@pci0:0:24:0:	class=0x060000 card=0x00000000 chip=0x16001022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices [AMD]'
    device     = 'Family 15h Processor Function 0'
    class      = bridge
    subclass   = HOST-PCI
hostb2@pci0:0:24:1:	class=0x060000 card=0x00000000 chip=0x16011022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices [AMD]'
    device     = 'Family 15h Processor Function 1'
    class      = bridge
    subclass   = HOST-PCI
hostb3@pci0:0:24:2:	class=0x060000 card=0x00000000 chip=0x16021022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices [AMD]'
    device     = 'Family 15h Processor Function 2'
    class      = bridge
    subclass   = HOST-PCI
hostb4@pci0:0:24:3:	class=0x060000 card=0x00000000 chip=0x16031022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices [AMD]'
    device     = 'Family 15h Processor Function 3'
    class      = bridge
    subclass   = HOST-PCI
hostb5@pci0:0:24:4:	class=0x060000 card=0x00000000 chip=0x16041022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices [AMD]'
    device     = 'Family 15h Processor Function 4'
    class      = bridge
    subclass   = HOST-PCI
hostb6@pci0:0:24:5:	class=0x060000 card=0x00000000 chip=0x16051022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices [AMD]'
    device     = 'Family 15h Processor Function 5'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:1:0:0:	class=0x030000 card=0x116019da chip=0x0a6510de rev=0xa2 hdr=0x00
    vendor     = 'nVidia Corporation'
    device     = 'GT218 [GeForce 210]'
    class      = display
    subclass   = VGA
none2@pci0:1:0:1:	class=0x040300 card=0x116019da chip=0x0be310de rev=0xa1 hdr=0x00
    vendor     = 'nVidia Corporation'
    device     = 'High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
mpslsi0@pci0:2:0:0:	class=0x010700 card=0x30801000 chip=0x00721000 rev=0x03 hdr=0x00
    vendor     = 'LSI Logic / Symbios Logic'
    device     = 'SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon]'
    class      = mass storage
    subclass   = SAS
xhci0@pci0:3:0:0:	class=0x0c0330 card=0x50071458 chip=0x70231b6f rev=0x01 hdr=0x00
    class      = serial bus
    subclass   = USB
re0@pci0:4:0:0:	class=0x020000 card=0xe0001458 chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168B PCI Express Gigabit Ethernet controller'
    class      = network
    subclass   = ethernet
xhci1@pci0:5:0:0:	class=0x0c0330 card=0x50071458 chip=0x70231b6f rev=0x01 hdr=0x00
    class      = serial bus
    subclass   = USB
fwohci0@pci0:6:14:0:	class=0x0c0010 card=0x10001458 chip=0x30441106 rev=0xc0 hdr=0x00
    vendor     = 'VIA Technologies, Inc.'
    device     = 'VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller'
    class      = serial bus
    subclass   = FireWire

[-- Attachment #3 --]
smartctl 5.42 2011-10-20 r3458 [CloudByte 1.1-Elastistor amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

Vendor:               SEAGATE 
Product:              ST100FM0002     
Revision:             0003
User Capacity:        100,030,242,816 bytes [100 GB]
Logical block size:   512 bytes
Logical Unit id:      0x5000c500301051f7
Serial number:        Z12117290000822150Z3
Device type:          disk
Transport protocol:   SAS
Local Time is:        Mon Apr 29 15:44:43 2013 IST
Device supports SMART and is Enabled
Temperature Warning Enabled
SMART Health Status: OK
SS Media used endurance indicator: 0%

Current Drive Temperature:     37 C
Drive Trip Temperature:        65 C
Manufactured in week 26 of year 2012
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  24
defect list format 6 unknown
Elements in grown defect list: 0
Vendor (Seagate) cache information
  Blocks sent to initiator = 260867288
  Blocks received from initiator = 2726069275
  Blocks read from cache and sent to initiator = 48842
  Number of read and write commands whose size <= segment size = 210376727
  Number of read and write commands whose size > segment size = 0
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 782.57
  number of minutes until next internal SMART test = 40

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:          0        0         0         0          0        133.564           0
write:         0        0         0         0          0      12391.221           0

Non-medium error count:        0
No self-tests have been logged
Long (extended) Self Test duration: 32767 seconds [546.1 minutes]

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAA71u6ZehJq7LE-m3RMCGgZQPT4U%2BO_m6ezfT-a5ig%2Bd%2Bc8uzQ>