Re: [PATCH 1/1] nvme-pci: disable write zeros support on WD SSDs

From: Doug Anderson
Date: Thu Oct 20 2022 - 13:16:21 EST


Hi,

On Fri, Oct 14, 2022 at 1:32 AM Ken Lin <ken_lin5@xxxxxxxxxxx> wrote:
>
> Like commit 5611ec2b9814 ("nvme-pci: prevent SK hynix PC400 from using
> Write Zeroes command"), Western Digital has the same issue:
> [ 6305.633887] blk_update_request: operation not supported error,
> dev nvme0n1, sector 340812032 op 0x9:(WRITE_ZEROES)
> flags 0x0 phys_seg 0 prio class 0
>
> So also disable Write Zeroes command on Western Digital.
>
> Signed-off-by: Ken Lin <ken_lin5@xxxxxxxxxxx>
> ---
>
> drivers/nvme/host/pci.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 3a1c37f32f30..5c1b812a3c2b 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3517,6 +3517,8 @@ static const struct pci_device_id nvme_id_table[] = {
> .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
> { PCI_DEVICE(0xc0a9, 0x540a), /* Crucial P2 */
> .driver_data = NVME_QUIRK_BOGUS_NID, },
> + { PCI_DEVICE(0x15b7, 0x501e), /* Sandisk 2280 NVMe SSD */
> + .driver_data = NVME_QUIRK_NO_DEEPEST_PS, },

So I'm not really an expert and don't really have the context, but you
CCed me and so I took a quick glance.

Something smells a little fishy. ${SUBJECT} talks about disabling
"write zeros". The patch description talks about disabling "Write
Zeroes". The patch you reference seems to disable "write zeros" by
setting the quirk NVME_QUIRK_DISABLE_WRITE_ZEROES. ...but the contents
of your patch doesn't seem to match. Instead it adds the quirk
NVME_QUIRK_NO_DEEPEST_PS.

As I said, I'm not an expert and maybe everyone will tell me that it
all makes sense, but it seems weird.

-Doug