diff --git a/block/blk-mq.c b/block/blk-mq.c index fb4734a51d56..4490fd758534 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -134,7 +134,7 @@ void blk_mq_in_flight_rw(struct request_queue *q, struct hd_struct *part, blk_mq_queue_tag_busy_iter(q, blk_mq_check_inflight_rw, &mi); } -bool blk_freeze_queue_start(struct request_queue *q) +void blk_freeze_queue_start(struct request_queue *q) { int freeze_depth; @@ -143,9 +143,7 @@ bool blk_freeze_queue_start(struct request_queue *q) percpu_ref_kill(&q->q_usage_counter); if (q->mq_ops) blk_mq_run_hw_queues(q, false); - return true; } - return false; } EXPORT_SYMBOL_GPL(blk_freeze_queue_start); @@ -168,7 +166,7 @@ EXPORT_SYMBOL_GPL(blk_mq_freeze_queue_wait_timeout); * Guarantee no request is in use, so we can change any data structure of * the queue afterward. */ -bool blk_freeze_queue(struct request_queue *q) +void blk_freeze_queue(struct request_queue *q) { /* * In the !blk_mq case we are only calling this to kill the @@ -177,20 +175,19 @@ bool blk_freeze_queue(struct request_queue *q) * no blk_unfreeze_queue(), and blk_freeze_queue() is not * exported to drivers as the only user for unfreeze is blk_mq. */ - bool ret = blk_freeze_queue_start(q); + blk_freeze_queue_start(q); if (!q->mq_ops) blk_drain_queue(q); blk_mq_freeze_queue_wait(q); - return ret; } -bool blk_mq_freeze_queue(struct request_queue *q) +void blk_mq_freeze_queue(struct request_queue *q) { /* * ...just an alias to keep freeze and unfreeze actions balanced * in the blk_mq_* namespace */ - return blk_freeze_queue(q); + blk_freeze_queue(q); } EXPORT_SYMBOL_GPL(blk_mq_freeze_queue); diff --git a/block/blk-mq.h b/block/blk-mq.h index a8672a67fe20..a2348189bfca 100644 --- a/block/blk-mq.h +++ b/block/blk-mq.h @@ -40,6 +40,7 @@ enum mq_rq_state { MQ_RQ_GEN_INC = 1 << MQ_RQ_STATE_BITS, }; +void blk_mq_freeze_queue(struct request_queue *q); void blk_mq_free_queue(struct request_queue *q); int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr); void blk_mq_wake_waiters(struct request_queue *q); diff --git a/block/blk.h b/block/blk.h index 3afc5fb81554..b4abe35acdce 100644 --- a/block/blk.h +++ b/block/blk.h @@ -66,7 +66,7 @@ void blk_rq_bio_prep(struct request_queue *q, struct request *rq, void blk_queue_bypass_start(struct request_queue *q); void blk_queue_bypass_end(struct request_queue *q); void __blk_queue_free_tags(struct request_queue *q); -bool blk_freeze_queue(struct request_queue *q); +void blk_freeze_queue(struct request_queue *q); static inline void blk_queue_enter_live(struct request_queue *q) { diff --git a/include/linux/blk-mq.h b/include/linux/blk-mq.h index 04d11a5bf44d..f4765c40bd3c 100644 --- a/include/linux/blk-mq.h +++ b/include/linux/blk-mq.h @@ -259,9 +259,9 @@ bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async); void blk_mq_run_hw_queues(struct request_queue *q, bool async); void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset, busy_tag_iter_fn *fn, void *priv); -bool blk_mq_freeze_queue(struct request_queue *q); +void blk_mq_freeze_queue(struct request_queue *q); void blk_mq_unfreeze_queue(struct request_queue *q); -bool blk_freeze_queue_start(struct request_queue *q); +void blk_freeze_queue_start(struct request_queue *q); void blk_mq_freeze_queue_wait(struct request_queue *q); int blk_mq_freeze_queue_wait_timeout(struct request_queue *q, unsigned long timeout);