Hi, I am running an MD RAID5 with 3 SSDs (2x Crucial CT500MX500 (FW M3CR022), 1x Samsung 860 EVO (because it was/is the only decent SSD with msata; FW RVT41B6Q)) on Debian Buster (with an ancient^Wstable 4.19 kernel). Before this setup I was using a RAID1 and weekly fstrim runs to issue discards. Today I became aware of the RAID5 discard issue that led to trim being disabled on such arrays: https://github.com/torvalds/linux/commit/8e0e99ba64c7ba46133a7c8a3e3f7de01f23bd93 In my research to verify that my drives work fine and if I should enable it I came across the black (actually white) list in the libata code. My question is regarding the matching of the model_num field in the black list. The name and the use of ATA_ID_PROD seem to indicate that a single ATA "property" is used as the string to match. I don't know the technical details how this is communicated by the drive but I assume it's the same thing that smartctl and hdparm output as "Model Number" and "Device Model" respectively. If this is correct (is it?) then there is a problem with the list AFAICT because the Crucial SSD I have reports this field simply as "CT500MX500SSD4" but the kernel expects "Crucial" at the beginning of almost all Crucial drives (line 4523+) including the vendor wildcard at https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/ata/libata-core.c#n4586 Interestingly, in line 4520 there is an entry for the CT500BX100SSD1 that does not start with "Crucial". After looking into smartctl's drive database I guess the MX500 [2] (as well as BX100, BX200, BX300 and BX500 [1]) series stand out in this regard. This means that all of them do *not* get the ATA_HORKAGE_ZERO_AFTER_TRIM flag set because they are not matched by any of the model-specific entries nor the cumulative "Crucial*" vendor entry. I have not tested my drive to actually return zeros after trimming but from the kernel code I would assume that its intent is to match all Crucial SSDs and thus it is a bug mine is not matched. If someone tells me to the preferred method to test it I am happy to do this. If need be I can also submit a patch (just for MX500? all of the above?). Is there any way to see which flags the kernel applies to a drive? Interestingly, "lsblk -D" does only show "0" for the Samsung device (although AFAICT it is matched by the white list AND reports "Deterministic read ZEROs after TRIM" according to hdparm. But I don't know what lsblk actually looks at...? [1] https://www.smartmontools.org/changeset/4776 [2] https://www.smartmontools.org/browser/trunk/smartmontools/drivedb.h?#L1906 (Please CC since I am not subscribed) KR -- Dipl.-Ing. Stefan Tauner Lecturer and former researcher Embedded Systems Department University of Applied Sciences Technikum Wien Hoechstaedtplatz 6, 1200 Vienna, Austria E: stefan.tauner@xxxxxxxxxxxxxxxxx I: embsys.technikum-wien.at I: www.technikum-wien.at