[PATCH 02/13] block: Unhash also block device inode for the whole device
From: Jan Kara <jack@suse.cz>
Date: 2017-02-21 17:09:47
Subsystem:
block layer, the rest · Maintainers:
Jens Axboe, Linus Torvalds
From: Jan Kara <jack@suse.cz>
Date: 2017-02-21 17:09:47
Subsystem:
block layer, the rest · Maintainers:
Jens Axboe, Linus Torvalds
Iteration over partitions in del_gendisk() omits part0. Add bdev_unhash_inode() call for the whole device. Otherwise if the device number gets reused, bdev inode will be still associated with the old (stale) bdi. Tested-by: Lekshmi Pillai <redacted> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jan Kara <jack@suse.cz> --- block/genhd.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/block/genhd.c b/block/genhd.c
index 6cb9f3a34a92..f6c4d4400759 100644
--- a/block/genhd.c
+++ b/block/genhd.c@@ -655,6 +655,7 @@ void del_gendisk(struct gendisk *disk) disk_part_iter_exit(&piter); invalidate_partition(disk, 0); + bdev_unhash_inode(disk_devt(disk)); set_capacity(disk, 0); disk->flags &= ~GENHD_FL_UP;
--
2.10.2