# seeing data corruption with zfs trim functionality



## ajitjain (Apr 26, 2013)

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:

240868  (zfs trim patch)
230053 and 245252 (block device driver trim support)
239655 (fix an issue in patch 230053)
I am "NOT" seeing data corruption in the following cases:

Running iotest with single thread (Trim is enabled at entire io stack).
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


----------



## wblock@ (Apr 26, 2013)

Members of the freebsd-fs mailing list are more likely to be able to help with this.


----------

