[PATCH 1/2] NVMe: Make surprise removal work again
Sagi Grimberg
sagig at dev.mellanox.co.il
Thu Jan 28 06:48:16 PST 2016
>>> blk_mq_abort_requeue_list(ns->queue);
>>> + __nvme_start_queue_locked(ns);
>>
>> Why not making sure that all the pending requests are moved to
>> the requeue list before we even get here? call nvme_cancel_io on
>> pending requests which would either fail the requests (blk_queue_dying)
>> or move them to the requeue list?
>
> That works only for active requests. There could be processes that entered
> the queue and waiting for request tags to become available. These need
> to be flushed to completion somehow ... maybe they shouldn't even succeed
> in getting a request on a dying queue?
Isn't that what blk_mq_wake_waiters() is for?
More information about the Linux-nvme
mailing list