block: Unhash also block device inode for the whole device
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 <lekshmicpillai@in.ibm.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Родитель
4b8c861a7c
Коммит
d06e05c026
|
@ -676,6 +676,7 @@ void del_gendisk(struct gendisk *disk)
|
||||||
disk_part_iter_exit(&piter);
|
disk_part_iter_exit(&piter);
|
||||||
|
|
||||||
invalidate_partition(disk, 0);
|
invalidate_partition(disk, 0);
|
||||||
|
bdev_unhash_inode(disk_devt(disk));
|
||||||
set_capacity(disk, 0);
|
set_capacity(disk, 0);
|
||||||
disk->flags &= ~GENHD_FL_UP;
|
disk->flags &= ~GENHD_FL_UP;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче