blk-mq: move queue_is_mq out of blk_mq_cancel_work_sync
authorJinlong Chen <nickyc975@zju.edu.cn>
Sun, 30 Oct 2022 09:47:30 +0000 (17:47 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 31 Oct 2022 13:27:54 +0000 (07:27 -0600)
The only caller that needs queue_is_mq check is del_gendisk, so move the
check into it.

Signed-off-by: Jinlong Chen <nickyc975@zju.edu.cn>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20221030094730.1275463-1-nickyc975@zju.edu.cn
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c
block/genhd.c

index 060c8cc..bcb402f 100644 (file)
@@ -4883,15 +4883,13 @@ EXPORT_SYMBOL(blk_mq_rq_cpu);
 
 void blk_mq_cancel_work_sync(struct request_queue *q)
 {
-       if (queue_is_mq(q)) {
-               struct blk_mq_hw_ctx *hctx;
-               unsigned long i;
+       struct blk_mq_hw_ctx *hctx;
+       unsigned long i;
 
-               cancel_delayed_work_sync(&q->requeue_work);
+       cancel_delayed_work_sync(&q->requeue_work);
 
-               queue_for_each_hw_ctx(q, hctx, i)
-                       cancel_delayed_work_sync(&hctx->run_work);
-       }
+       queue_for_each_hw_ctx(q, hctx, i)
+               cancel_delayed_work_sync(&hctx->run_work);
 }
 
 static int __init blk_mq_init(void)
index 17b33c6..493b93f 100644 (file)
@@ -638,7 +638,9 @@ void del_gendisk(struct gendisk *disk)
 
        blk_sync_queue(q);
        blk_flush_integrity();
-       blk_mq_cancel_work_sync(q);
+
+       if (queue_is_mq(q))
+               blk_mq_cancel_work_sync(q);
 
        blk_mq_quiesce_queue(q);
        if (q->elevator) {