Skip to content

Commit f3f3da8

Browse files
David Milburngregkh
authored andcommitted
nvme-pci: disable the write zeros command for Intel 600P/P3100
[ Upstream commit ce4cc31 ] The write zeros command does not work with 4k range. bash-4.4# ./blkdiscard /dev/nvme0n1p2 bash-4.4# strace -efallocate xfs_io -c "fzero 536895488 2048" /dev/nvme0n1p2 fallocate(3, FALLOC_FL_ZERO_RANGE, 536895488, 2048) = 0 +++ exited with 0 +++ bash-4.4# dd bs=1 if=/dev/nvme0n1p2 skip=536895488 count=512 | hexdump -C 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200 bash-4.4# ./blkdiscard /dev/nvme0n1p2 bash-4.4# strace -efallocate xfs_io -c "fzero 536895488 4096" /dev/nvme0n1p2 fallocate(3, FALLOC_FL_ZERO_RANGE, 536895488, 4096) = 0 +++ exited with 0 +++ bash-4.4# dd bs=1 if=/dev/nvme0n1p2 skip=536895488 count=512 | hexdump -C 00000000 5c 61 5c b0 96 21 1b 5e 85 0c 07 32 9c 8c eb 3c |\a\..!.^...2...<| 00000010 4a a2 06 ca 67 15 2d 8e 29 8d a8 a0 7e 46 8c 62 |J...g.-.)...~F.b| 00000020 bb 4c 6c c1 6b f5 ae a5 e4 a9 bc 93 4f 60 ff 7a |.Ll.k.......O`.z| Reported-by: Eric Sandeen <[email protected]> Signed-off-by: David Milburn <[email protected]> Tested-by: Eric Sandeen <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent 33701f0 commit f3f3da8

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/nvme/host/pci.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3093,7 +3093,8 @@ static const struct pci_device_id nvme_id_table[] = {
30933093
{ PCI_VDEVICE(INTEL, 0xf1a5), /* Intel 600P/P3100 */
30943094
.driver_data = NVME_QUIRK_NO_DEEPEST_PS |
30953095
NVME_QUIRK_MEDIUM_PRIO_SQ |
3096-
NVME_QUIRK_NO_TEMP_THRESH_CHANGE },
3096+
NVME_QUIRK_NO_TEMP_THRESH_CHANGE |
3097+
NVME_QUIRK_DISABLE_WRITE_ZEROES, },
30973098
{ PCI_VDEVICE(INTEL, 0xf1a6), /* Intel 760p/Pro 7600p */
30983099
.driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN, },
30993100
{ PCI_VDEVICE(INTEL, 0x5845), /* Qemu emulated controller */

0 commit comments

Comments
 (0)