[PATCH] NVMe: Re-introduce nvmeq->q_suspended

Keith Busch keith.busch at intel.com
Fri Nov 21 17:07:35 PST 2014


On Fri, 21 Nov 2014, Sam Bradshaw wrote:
> At some point in the blk-mq transition, q_suspended was removed.  This patch 
> adds it back to address two failure modes, both illustrated in the attached 
> snippet.  First, it protects the ioctl path from inadvertently dereferencing 
> invalid nvme_queue data structures during device shutdown/reset.  Second, it 
> protects against a double free_irq() if the shutdown/reset/resume sequence 
> doesn't recover a flaky controller.

I could have sworn there was a better way to suspend at the
request_queue level with blk-mq so we don't need this in the driver. The
blk_start/stop_queue is close, but doesn't work in the ioctl path. Maybe
I'm thinking blk-mq freeze, but that's not exported for drivers.



More information about the Linux-nvme mailing list