]> git.baikalelectronics.ru Git - kernel.git/commit
NVMe: IO ending fixes on surprise removal
authorKeith Busch <keith.busch@intel.com>
Fri, 11 Dec 2015 20:14:28 +0000 (13:14 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 22 Dec 2015 17:12:04 +0000 (10:12 -0700)
commitad61493cf384a1c9b2cff71c3dd903554ffc82c2
tree458e729691435b753d23e860f7e76d6e0fbdf922
parent9eb8d16f22a80e6037badfe16d1cf5327859abdd
NVMe: IO ending fixes on surprise removal

This patch fixes a lost request discovered during IO + hot removal.

The driver's pci removal deletes gendisks prior to shutting down the
controller to allow dirty data to sync. Dirty data can not be synced on
a surprise removal, though, and would potentially block indefinitely.

The driver previously had marked the queue as dying in this scenario
to prevent new requests from attempting, however it will still block
for requests that already entered the queue. This patch fixes this by
quiescing IO first, then aborting the requeued requests before deleting
disks.

Reported-by: Sujith Pandel <sujith_pandel@dell.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Tested-by: Sujith Pandel <sujith_pandel@dell.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/pci.c