Skip to content

Commit

Permalink
dm: Use BLK_MQ_S_STOPPED instead of QUEUE_FLAG_STOPPED in blk-mq code
Browse files Browse the repository at this point in the history
Instead of manipulating both QUEUE_FLAG_STOPPED and BLK_MQ_S_STOPPED
in the dm start and stop queue functions, only manipulate the latter
flag. Change blk_queue_stopped() tests into blk_mq_queue_stopped().

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
  • Loading branch information
Bart Van Assche authored and Jens Axboe committed Nov 2, 2016
1 parent 2b053ac commit f0d33ab
Showing 1 changed file with 1 addition and 15 deletions.
16 changes: 1 addition & 15 deletions drivers/md/dm-rq.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,6 @@ static void dm_old_start_queue(struct request_queue *q)

static void dm_mq_start_queue(struct request_queue *q)
{
unsigned long flags;

spin_lock_irqsave(q->queue_lock, flags);
queue_flag_clear(QUEUE_FLAG_STOPPED, q);
spin_unlock_irqrestore(q->queue_lock, flags);

blk_mq_start_stopped_hw_queues(q, true);
blk_mq_kick_requeue_list(q);
}
Expand All @@ -105,16 +99,8 @@ static void dm_old_stop_queue(struct request_queue *q)

static void dm_mq_stop_queue(struct request_queue *q)
{
unsigned long flags;

spin_lock_irqsave(q->queue_lock, flags);
if (blk_queue_stopped(q)) {
spin_unlock_irqrestore(q->queue_lock, flags);
if (blk_mq_queue_stopped(q))
return;
}

queue_flag_set(QUEUE_FLAG_STOPPED, q);
spin_unlock_irqrestore(q->queue_lock, flags);

blk_mq_stop_hw_queues(q);
}
Expand Down

0 comments on commit f0d33ab

Please sign in to comment.