Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Apr 2013 12:14:19 +0530
From:      Ajit Jain <ajit.jain@cloudbyte.com>
To:        freebsd-fs@freebsd.org, Ajit Jain <ajit.jain@cloudbyte.com>
Subject:   seeing data corruption with zfs trim functionality
Message-ID:  <CAA71u6Y5dKZ9O0rqxCpx-9t7DYgTnPZSoNy-iHOnmzrOUYp%2Bvw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

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.

Thanks.
ajit



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAA71u6Y5dKZ9O0rqxCpx-9t7DYgTnPZSoNy-iHOnmzrOUYp%2Bvw>