Loading block/blk.h +1 −1 Original line number Diff line number Diff line Loading @@ -361,7 +361,7 @@ char *disk_name(struct gendisk *hd, int partno, char *buf); #define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_WHOLEDISK 2 void delete_partition(struct gendisk *disk, struct hd_struct *part); void delete_partition(struct hd_struct *part); int bdev_add_partition(struct block_device *bdev, int partno, sector_t start, sector_t length); int bdev_del_partition(struct block_device *bdev, int partno); Loading block/genhd.c +1 −1 Original line number Diff line number Diff line Loading @@ -913,7 +913,7 @@ void del_gendisk(struct gendisk *disk) DISK_PITER_INCL_EMPTY | DISK_PITER_REVERSE); while ((part = disk_part_iter_next(&piter))) { invalidate_partition(disk, part->partno); delete_partition(disk, part); delete_partition(part); } disk_part_iter_exit(&piter); Loading block/partitions/core.c +5 −4 Original line number Diff line number Diff line Loading @@ -324,8 +324,9 @@ int hd_ref_init(struct hd_struct *part) * Must be called either with bd_mutex held, before a disk can be opened or * after all disk users are gone. */ void delete_partition(struct gendisk *disk, struct hd_struct *part) void delete_partition(struct hd_struct *part) { struct gendisk *disk = part_to_disk(part); struct disk_part_tbl *ptbl = rcu_dereference_protected(disk->part_tbl, 1); Loading @@ -333,7 +334,7 @@ void delete_partition(struct gendisk *disk, struct hd_struct *part) * ->part_tbl is referenced in this part's release handler, so * we have to hold the disk device */ get_device(disk_to_dev(part_to_disk(part))); get_device(disk_to_dev(disk)); rcu_assign_pointer(ptbl->part[part->partno], NULL); kobject_put(part->holder_dir); device_del(part_to_dev(part)); Loading Loading @@ -556,7 +557,7 @@ int bdev_del_partition(struct block_device *bdev, int partno) sync_blockdev(bdevp); invalidate_bdev(bdevp); delete_partition(bdev->bd_disk, part); delete_partition(part); ret = 0; out_unlock: mutex_unlock(&bdev->bd_mutex); Loading Loading @@ -636,7 +637,7 @@ int blk_drop_partitions(struct block_device *bdev) disk_part_iter_init(&piter, bdev->bd_disk, DISK_PITER_INCL_EMPTY); while ((part = disk_part_iter_next(&piter))) delete_partition(bdev->bd_disk, part); delete_partition(part); disk_part_iter_exit(&piter); return 0; Loading Loading
block/blk.h +1 −1 Original line number Diff line number Diff line Loading @@ -361,7 +361,7 @@ char *disk_name(struct gendisk *hd, int partno, char *buf); #define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_WHOLEDISK 2 void delete_partition(struct gendisk *disk, struct hd_struct *part); void delete_partition(struct hd_struct *part); int bdev_add_partition(struct block_device *bdev, int partno, sector_t start, sector_t length); int bdev_del_partition(struct block_device *bdev, int partno); Loading
block/genhd.c +1 −1 Original line number Diff line number Diff line Loading @@ -913,7 +913,7 @@ void del_gendisk(struct gendisk *disk) DISK_PITER_INCL_EMPTY | DISK_PITER_REVERSE); while ((part = disk_part_iter_next(&piter))) { invalidate_partition(disk, part->partno); delete_partition(disk, part); delete_partition(part); } disk_part_iter_exit(&piter); Loading
block/partitions/core.c +5 −4 Original line number Diff line number Diff line Loading @@ -324,8 +324,9 @@ int hd_ref_init(struct hd_struct *part) * Must be called either with bd_mutex held, before a disk can be opened or * after all disk users are gone. */ void delete_partition(struct gendisk *disk, struct hd_struct *part) void delete_partition(struct hd_struct *part) { struct gendisk *disk = part_to_disk(part); struct disk_part_tbl *ptbl = rcu_dereference_protected(disk->part_tbl, 1); Loading @@ -333,7 +334,7 @@ void delete_partition(struct gendisk *disk, struct hd_struct *part) * ->part_tbl is referenced in this part's release handler, so * we have to hold the disk device */ get_device(disk_to_dev(part_to_disk(part))); get_device(disk_to_dev(disk)); rcu_assign_pointer(ptbl->part[part->partno], NULL); kobject_put(part->holder_dir); device_del(part_to_dev(part)); Loading Loading @@ -556,7 +557,7 @@ int bdev_del_partition(struct block_device *bdev, int partno) sync_blockdev(bdevp); invalidate_bdev(bdevp); delete_partition(bdev->bd_disk, part); delete_partition(part); ret = 0; out_unlock: mutex_unlock(&bdev->bd_mutex); Loading Loading @@ -636,7 +637,7 @@ int blk_drop_partitions(struct block_device *bdev) disk_part_iter_init(&piter, bdev->bd_disk, DISK_PITER_INCL_EMPTY); while ((part = disk_part_iter_next(&piter))) delete_partition(bdev->bd_disk, part); delete_partition(part); disk_part_iter_exit(&piter); return 0; Loading