Skip to contentSkip to conversation

NVMe: Fix check_flush_dependency warning

PATCH New Keith Busch 4 participants 4 messages Apr 27, 2016 – May 2, 2016 NVMe

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 NVMe: Fix check_flush_dependency warning

If the controller fails and is degraded after a reset, we need to kill off all requests queues before removing the inaccessble namespaces. This will prevent del_gendisk from syncing dirty data, which we can't due from a WQ_MEM_RECLAIM work queue.

Signed-off-by Keith Busch <keith.busch at intel.com>
---
 drivers/nvme/host/pci.c | 1 +
 1 file changed, 1 insertion(+)
drivers/nvme/host/pci.c +1 -0
index dda19cc..6d49e47 100644
@@ -1909,6 +1909,7 @@ static void nvme_reset_work(struct work_struct *work)
 	 */
 	if (dev->online_queues < 2) {
 		dev_warn(dev->ctrl.device, "IO queues not created\n");
+		nvme_kill_queues(&dev->ctrl);
 		nvme_remove_namespaces(&dev->ctrl);
 	} else {
 		nvme_start_queues(&dev->ctrl);
Signature · 1 line
2.7.2
maintainer
#1 lore raw

PATCH 1/1 NVMe: Fix check_flush_dependency warning

Looks good,

Reviewed-by Sagi Grimberg <sagi at grimberg.me>
#2 lore raw

PATCH 1/1 NVMe: Fix check_flush_dependency warning

In reply to Keith Busch
Quoted 6 lines · Keith Busch

If the controller fails and is degraded after a reset, we need to kill off all requests queues before removing the inaccessble namespaces. This will prevent del_gendisk from syncing dirty data, which we can't due from a WQ_MEM_RECLAIM work queue.

Signed-off-by Keith Busch <keith.busch at intel.com>

Looks fine,

Reviewed-by Christoph Hellwig <hch at lst.de>

Jens, any chance to get this and my state machine series in ASAP?

I have another one depending on the state machine series which will need some changes due to this one, and having both of them in a tree somewhere would help greatly with getting it out before the end of the 4.7 merge window.

#3 lore raw

PATCH 1/1 NVMe: Fix check_flush_dependency warning

In reply to Keith Busch
Quoted 6 lines · Keith Busch

If the controller fails and is degraded after a reset, we need to kill off all requests queues before removing the inaccessble namespaces. This will prevent del_gendisk from syncing dirty data, which we can't due from a WQ_MEM_RECLAIM work queue.

Signed-off-by Keith Busch <keith.busch at intel.com>

Applied for 4.7.

Signature · 1 line
Jens Axboe