From 5d6f9d13e7d2069c7d5264d97a7ef40c7d662231 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Tue, 24 May 2022 14:33:09 +0200 Subject: [PATCH] block: freeze the queue earlier in del_gendisk Ming mentioned that being able to observer request in debugfs might be useful while the queue is being frozen in del_gendisk. Move the free wait before blk_unregister_queue to make that possible. Signed-off-by: Christoph Hellwig --- block/genhd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/block/genhd.c b/block/genhd.c index 36532b931841..8ff5b187791a 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -621,6 +621,7 @@ void del_gendisk(struct gendisk *disk) * Prevent new I/O from crossing bio_queue_enter(). */ blk_queue_start_drain(q); + blk_mq_freeze_queue_wait(q); if (!(disk->flags & GENHD_FL_HIDDEN)) { sysfs_remove_link(&disk_to_dev(disk)->kobj, "bdi"); @@ -644,8 +645,6 @@ void del_gendisk(struct gendisk *disk) pm_runtime_set_memalloc_noio(disk_to_dev(disk), false); device_del(disk_to_dev(disk)); - blk_mq_freeze_queue_wait(q); - blk_throtl_cancel_bios(disk->queue); blk_sync_queue(q); -- 2.50.1