This series comes from Christoph Hellwig's suggestion [1]. Some block device drivers such as loop driver and nbd driver need to invalidate the gendisk when the backend is detached so that the gendisk can be reused by the new backend. Now the invalidation is done in device driver with their own ways. To avoid code duplication and hide some internals of the implementation, this series adds a block layer helper and makes both loop driver and nbd driver use it. [1] https://lore.kernel.org/all/YTmqJHd7YWAQ2lZ7@xxxxxxxxxxxxx/ V1 to V2: - Rename invalidate_gendisk() to invalidate_disk() - Add a cleanup patch to remove bdev checks and bdev variable in __loop_clr_fd() Xie Yongji (4): block: Add invalidate_disk() helper to invalidate the gendisk loop: Use invalidate_disk() helper to invalidate gendisk loop: Remove the unnecessary bdev checks and unused bdev variable nbd: Use invalidate_disk() helper on disconnect block/genhd.c | 20 ++++++++++++++++++++ drivers/block/loop.c | 15 ++++----------- drivers/block/nbd.c | 12 +++--------- include/linux/genhd.h | 2 ++ 4 files changed, 29 insertions(+), 20 deletions(-) -- 2.11.0