[PATCH 6/9] nvme: abort requests on the reqeueue list when shutting down a controller
Busch, Keith
keith.busch at intel.com
Thu Oct 22 07:44:19 PDT 2015
On Thu, Oct 22, 2015 at 02:03:38PM +0200, Christoph Hellwig wrote:
> Otherwise we might never complete them as nvme_clear_queue won't find these
> requests.
With this change, requests will be ended in failure even though they
may have succeeded immediately after a reset. Nvme's unfreeze kicks the
namespaces' requeue_list just for that reason.
We shouldn't want to abort the requeue list unless we're freeing the
request_queue too, right?
I'm still trying to figure out what gap this is filling.
> static void nvme_dev_shutdown(struct nvme_dev *dev)
> {
> + struct nvme_ns *ns;
> int i;
> u32 csts = -1;
>
> nvme_dev_list_remove(dev);
>
> + list_for_each_entry(ns, &dev->ctrl.namespaces, list)
> + blk_mq_abort_requeue_list(ns->queue);
More information about the Linux-nvme
mailing list