LSI SAS HBAs with IT firmware do support TRIM, but with these limitations:
The drives must support both “Data Set Management TRIM supported (limit 8 blocks)” and “Deterministic read ZEROs after TRIM” in their ATA options.
I have a pair of MX500’s on ZFS 2.1 / Linux 6.1.53 on an AMD SATA controller where zpool trim works fine, and they do not support RZAT:
# hdparm -I /dev/sde|grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)
(no Deterministic read ZEROs after TRIM line)
so I suspect it is a limitation of the HBA you’re using. Haven’t heard of any firmware hacks for that for LSI cards, but I’d bet that swapping the SSDs with ones that support RZAT would work.
# hdparm -I /dev/sde|grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)
# hdparm -I /dev/sdbc|grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)
# hdparm -I /dev/sdcb|grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)
So it must be the lack of RZAT that I’m running into.
How can I view the output of zpool trim POOL_NAME? I ran it, and it went to a blank line. No information about “yes, it’s working!”, no progress indicator, nothing.
I emailed Crucial about it and am talking to Level 2 support. I don’t think they can fix it, but they could definitely report it up to someone that can.
Usually, these things get done only if enough people complain.