Mike Snitzer
7d9595d848
dm rq: fix the starting and stopping of blk-mq queues
...
Improve dm_stop_queue() to cancel any requeue_work. Also, have
dm_start_queue() and dm_stop_queue() clear/set the QUEUE_FLAG_STOPPED
for the blk-mq request_queue.
On suspend dm_stop_queue() handles stopping the blk-mq request_queue
BUT: even though the hw_queues are marked BLK_MQ_S_STOPPED at that point
there is still a race that is allowing block/blk-mq.c to call ->queue_rq
against a hctx that it really shouldn't. Add a check to
dm_mq_queue_rq() that guards against this rarity (albeit _not_
race-free).
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org # must patch dm.c on < 4.8 kernels
2016-08-02 16:21:36 -04:00
..
2016-07-20 17:37:02 -06:00
2016-07-20 12:43:34 -04:00
2016-06-07 13:41:38 -06:00
2016-05-04 12:39:35 -07:00
2015-07-29 08:55:15 -06:00
2015-05-29 14:19:06 -04:00
2013-11-23 22:33:55 -08:00
2016-06-07 13:41:38 -06:00
2014-01-14 23:23:03 -05:00
2016-06-10 15:15:44 -04:00
2014-11-10 15:25:30 -05:00
2016-04-17 11:24:46 -04:00
2016-03-10 17:12:12 -05:00
2015-11-04 21:19:53 -08:00
2015-06-11 17:13:01 -04:00
2016-03-10 17:12:11 -05:00
2014-01-16 13:44:11 -05:00
2015-06-11 17:13:01 -04:00
2016-06-07 13:41:38 -06:00
2016-06-10 15:15:44 -04:00
2016-07-01 10:53:21 -04:00
2016-02-22 22:34:37 -05:00
2016-06-07 13:41:38 -06:00
2015-11-04 21:19:53 -08:00
2016-01-08 20:03:05 -05:00
2016-08-02 16:08:59 -04:00
2016-06-10 15:15:44 -04:00
2016-07-20 23:49:52 -04:00
2016-06-10 15:15:44 -04:00
2016-07-28 17:38:16 -07:00
2015-10-31 19:06:00 -04:00
2015-04-15 12:10:20 -04:00
2016-06-07 13:41:38 -06:00
2016-06-07 13:41:38 -06:00
2016-08-02 16:21:34 -04:00
2016-02-22 22:34:42 -05:00
2016-02-22 22:34:42 -05:00
2016-07-20 17:37:01 -06:00
2016-07-19 11:37:08 -04:00
2016-06-07 13:41:38 -06:00
2016-02-22 22:34:42 -05:00
2016-08-02 16:21:36 -04:00
2016-06-10 15:16:02 -04:00
2016-02-22 22:34:42 -05:00
2016-06-07 13:41:38 -06:00
2016-01-08 20:03:05 -05:00
2016-07-28 17:38:16 -07:00
2016-06-10 15:15:44 -04:00
2015-06-17 12:40:40 -04:00
2016-07-28 17:38:16 -07:00
2015-10-31 19:06:06 -04:00
2016-06-10 15:15:44 -04:00
2016-07-20 23:49:50 -04:00
2016-07-28 17:38:16 -07:00
2016-07-20 12:43:35 -04:00
2016-07-20 12:43:35 -04:00
2016-07-20 12:43:35 -04:00
2016-07-01 23:29:08 -04:00
2015-12-10 10:39:03 -05:00
2016-02-22 22:34:37 -05:00
2015-12-10 10:39:03 -05:00
2016-07-20 17:37:01 -06:00
2016-07-28 17:38:16 -07:00
2016-07-20 23:49:49 -04:00
2016-01-20 13:52:20 -08:00
2016-03-10 17:12:11 -05:00
2016-06-07 13:41:38 -06:00
2016-06-10 15:15:44 -04:00
2016-05-09 09:24:04 -07:00
2016-05-09 09:24:03 -07:00
2016-07-28 09:34:14 -07:00
2016-07-28 09:34:14 -07:00
2016-07-28 09:34:14 -07:00
2016-06-07 13:41:38 -06:00
2015-08-13 12:31:57 -06:00
2016-07-28 09:34:14 -07:00
2015-10-12 01:32:05 -05:00
2016-06-07 13:41:38 -06:00
2016-07-28 09:34:14 -07:00
2016-02-26 09:44:56 -08:00
2016-07-28 09:34:14 -07:00
2016-07-19 15:20:28 -07:00