summaryrefslogtreecommitdiffstats
path: root/block/partitions
diff options
context:
space:
mode:
authorSagi Grimberg <sagi@grimberg.me>2020-05-06 15:44:02 -0700
committerJens Axboe <axboe@kernel.dk>2020-05-09 16:07:58 -0600
commit59c7c3caaaf8750df4ec3255082f15eb4e371514 (patch)
tree09bf87e587816c177912f01355dc42ca9252de94 /block/partitions
parenta8de6639169b90e3dc4f27e752a3c5abac5e90da (diff)
downloadlinux-59c7c3caaaf8750df4ec3255082f15eb4e371514.tar.bz2
nvme: fix possible hang when ns scanning fails during error recovery
When the controller is reconnecting, the host fails I/O and admin commands as the host cannot reach the controller. ns scanning may revalidate namespaces during that period and it is wrong to remove namespaces due to these failures as we may hang (see 205da2434301). One command that may fail is nvme_identify_ns_descs. Since we return success due to having ns identify descriptor list optional, we continue to compare ns identifiers in nvme_revalidate_disk, obviously fail and return -ENODEV to nvme_validate_ns, which will remove the namespace. Exactly what we don't want to happen. Fixes: 22802bf742c2 ("nvme: Namepace identification descriptor list is optional") Tested-by: Anton Eidelman <anton@lightbitslabs.com> Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/partitions')
0 files changed, 0 insertions, 0 deletions