[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