From: Jinlong Chen Date: Sun, 30 Oct 2022 09:47:30 +0000 (+0800) Subject: blk-mq: move queue_is_mq out of blk_mq_cancel_work_sync X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=219cf43c552a49a7710b7b341bf616682a2643f0;p=linux.git blk-mq: move queue_is_mq out of blk_mq_cancel_work_sync The only caller that needs queue_is_mq check is del_gendisk, so move the check into it. Signed-off-by: Jinlong Chen Reviewed-by: Christoph Hellwig Link: https://lore.kernel.org/r/20221030094730.1275463-1-nickyc975@zju.edu.cn Signed-off-by: Jens Axboe --- diff --git a/block/blk-mq.c b/block/blk-mq.c index 060c8cca4b244..bcb402f9bff65 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -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) diff --git a/block/genhd.c b/block/genhd.c index 17b33c62423df..493b93faee9c8 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -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) {