• Dmitry Monakhov's avatar
    nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a · abbb5f59
    Dmitry Monakhov authored
    This adds a quirk for Samsung PM1725a drive which fixes timeouts and
    I/O errors due to the fact that the controller does not properly
    handle the Write Zeroes command, dmesg log:
    
    nvme nvme0: I/O 528 QID 10 timeout, aborting
    nvme nvme0: I/O 529 QID 10 timeout, aborting
    nvme nvme0: I/O 530 QID 10 timeout, aborting
    nvme nvme0: I/O 531 QID 10 timeout, aborting
    nvme nvme0: I/O 532 QID 10 timeout, aborting
    nvme nvme0: I/O 533 QID 10 timeout, aborting
    nvme nvme0: I/O 534 QID 10 timeout, aborting
    nvme nvme0: I/O 535 QID 10 timeout, aborting
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: Abort status: 0x0
    nvme nvme0: I/O 528 QID 10 timeout, reset controller
    nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x10
    nvme nvme0: Device not ready; aborting reset, CSTS=0x3
    nvme nvme0: Device not ready; aborting reset, CSTS=0x3
    nvme nvme0: Removing after probe failure status: -19
    nvme0n1: detected capacity change from 6251233968 to 0
    blk_update_request: I/O error, dev nvme0n1, sector 32776 op 0x1:(WRITE) flags 0x3000 phys_seg 6 prio class 0
    blk_update_request: I/O error, dev nvme0n1, sector 113319936 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 1, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113319680 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 2, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113319424 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 3, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113319168 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 4, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113318912 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 5, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113318656 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Buffer I/O error on dev nvme0n1p2, logical block 6, lost async page write
    blk_update_request: I/O error, dev nvme0n1, sector 113318400 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    blk_update_request: I/O error, dev nvme0n1, sector 113318144 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    blk_update_request: I/O error, dev nvme0n1, sector 113317888 op 0x9:(WRITE_ZEROES) flags 0x0 phys_seg 0 prio class 0
    Signed-off-by: default avatarDmitry Monakhov <dmtrmonakhov@yandex-team.ru>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    abbb5f59
pci.c 86.8 KB