Re: [PATCH v8] NVMe: convert to blk-mq

From: Keith Busch
Date: Mon Jun 16 2014 - 11:57:14 EST


On Fri, 13 Jun 2014, Matias BjÃrling wrote:
This converts the current NVMe driver to utilize the blk-mq layer.

static void nvme_reset_notify(struct pci_dev *pdev, bool prepare)
{
- struct nvme_dev *dev = pci_get_drvdata(pdev);
+ struct nvme_dev *dev = pci_get_drvdata(pdev);

- if (prepare)
- nvme_dev_shutdown(dev);
- else
- nvme_dev_resume(dev);
+ spin_lock(&dev_list_lock);
+ if (prepare)
+ list_del_init(&dev->node);
+ else
+ list_add(&dev->node, &dev_list);
+ spin_unlock(&dev_list_lock);
}
+ if (nvme_create_queue(dev->queues[i], i))
break;
}

The above change was just error injection test code so you can cause
a device to become unresponsive and trigger the timeout handling.

This latest is otherwise stable on my dev machine.