nvme-pci: Fix a race in controller removal
authorBalbir Singh <sblbir@amzn.com>
Wed, 18 Sep 2019 00:27:20 +0000 (00:27 +0000)
committerSagi Grimberg <sagi@grimberg.me>
Mon, 23 Sep 2019 21:00:11 +0000 (14:00 -0700)
commitb224726de5e496dbf78147a66755c3d81e28bdd2
tree153d38703025fcb41bb35c348558fa028e312624
parent0ec64895b05269c1814ea5befcadcd1184a12915
nvme-pci: Fix a race in controller removal

User space programs like udevd may try to read to partitions at the
same time the driver detects a namespace is unusable, and may deadlock
if revalidate_disk() is called while such a process is waiting to
enter the frozen queue. On detecting a dead namespace, move the disk
revalidate after unblocking dispatchers that may be holding bd_butex.

changelog Suggested-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Balbir Singh <sblbir@amzn.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/host/core.c