If del_gendisk() is done when some io are still throttled, such io will not be handled until the throttle is done, which is not necessary. Changes in v7: - use the new solution as suggested by Ming. Yu Kuai (2): blk-throtl: introduce a new flag THROTL_TG_CANCELING block: cancel all throttled bios in del_gendisk() block/blk-throttle.c | 49 ++++++++++++++++++++++++++++++++++++++++---- block/blk-throttle.h | 2 ++ block/genhd.c | 2 ++ 3 files changed, 49 insertions(+), 4 deletions(-) -- 2.31.1