[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