Re: git: c01af41c3c8f - main - ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs
Date: Mon, 19 Feb 2024 10:47:37 UTC
Hello Andriy, I use ZFS with autotrim enabled on Samsung 860 PRO connected to Intel AHCI SATA controller for 9 years without any issue. Can I disable this quirk locally or have I revert the patch to continue use NCQ TRIM with this SSD? Thank you. On Monday, February 19th, 2024 at 12:09 PM, Andriy Gapon <avg@FreeBSD.org> wrote: > The branch main has been updated by avg: > > URL: https://cgit.FreeBSD.org/src/commit/?id=c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 > > commit c01af41c3c8fdd570764ff9b6bfbad6ac9ca1664 > Author: Andriy Gapon avg@FreeBSD.org > > AuthorDate: 2024-02-19 10:08:12 +0000 > Commit: Andriy Gapon avg@FreeBSD.org > > CommitDate: 2024-02-19 10:08:12 +0000 > > ata_da: add quirk to disable NCQ TRIM for Samsung 860/870 SSDs > > NCQ TRIM for Samsung 860/870 SSDs results in data corruption on systems > with some SATA controllers. > > This can be easily reproduced using ZFS which uses TRIM and is able to > detect block content changes. > > Linux bug report for this issue: > https://bugzilla.kernel.org/show_bug.cgi?id=201693 > > Since at present we can not limit a quirk based on the contorller / SIM, > apply the quirk in all cases. > > Reviewed by: imp > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D43961 > --- > sys/cam/ata/ata_da.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c > index f5d3aeca9329..d4a591943307 100644 > --- a/sys/cam/ata/ata_da.c > +++ b/sys/cam/ata/ata_da.c > @@ -727,6 +727,22 @@ static struct ada_quirk_entry ada_quirk_table[] = > { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 850", "" }, > /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > }, > + { > + / > + * Samsung 860 SSDs > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > + / > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 860*", "" }, > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > + }, > + { > + / > + * Samsung 870 SSDs > + * 4k optimised, NCQ TRIM broken (normal TRIM fine) > + / > + { T_DIRECT, SIP_MEDIA_FIXED, "", "Samsung SSD 870*", "" }, > + /quirks/ADA_Q_4K | ADA_Q_NCQ_TRIM_BROKEN > + }, > { > / > * Samsung SM863 Series SSDs (MZ7KM*)