Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Feb 2024 10:47:37 +0000
From:      cglogic <cglogic@protonmail.com>
To:        Andriy Gapon <avg@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: c01af41c3c8f - main - ata_da: add quirk to disable  NCQ TRIM for Samsung 860/870 SSDs
Message-ID:  <VJ7gl_7CbXqJ7kkyxkOn6NAuYw-4TF-q47HARNXA0veMAc7oX6MPyrfv81IkdtnEjeo-TpQgRUBMnw_Uk73Aj9SPzcXJ8FCgjOfiXHXdwYI=@protonmail.com>
In-Reply-To: <202402191009.41JA925j018706@gitrepo.freebsd.org>
References:  <202402191009.41JA925j018706@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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=3Dc01af41c3c8fdd570764ff9b6b=
fbad6ac9ca1664
>
> 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=3D201693
>
> 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[] =3D
> { 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*)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?VJ7gl_7CbXqJ7kkyxkOn6NAuYw-4TF-q47HARNXA0veMAc7oX6MPyrfv81IkdtnEjeo-TpQgRUBMnw_Uk73Aj9SPzcXJ8FCgjOfiXHXdwYI=>