struct kobject *block_depr;
/* for extended dynamic devt allocation, currently only one major is used */
struct kobject *block_depr;
/* for extended dynamic devt allocation, currently only one major is used */
/* delay uevents, until we scanned partition table */
dev_set_uevent_suppress(ddev, 1);
/* delay uevents, until we scanned partition table */
dev_set_uevent_suppress(ddev, 1);
disk_part_iter_exit(&piter);
invalidate_partition(disk, 0);
disk_part_iter_exit(&piter);
invalidate_partition(disk, 0);
part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));
if (part && get_disk(part_to_disk(part))) {
*partno = part->partno;
disk = part_to_disk(part);
}
part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));
if (part && get_disk(part_to_disk(part))) {
*partno = part->partno;
disk = part_to_disk(part);
}
struct disk_part_tbl *old_ptbl = disk->part_tbl;
struct disk_part_tbl *new_ptbl;
int len = old_ptbl ? old_ptbl->len : 0;
struct disk_part_tbl *old_ptbl = disk->part_tbl;
struct disk_part_tbl *new_ptbl;
int len = old_ptbl ? old_ptbl->len : 0;
/* disk_max_parts() is zero during initialization, ignore if so */
if (disk_max_parts(disk) && target > disk_max_parts(disk))
/* disk_max_parts() is zero during initialization, ignore if so */
if (disk_max_parts(disk) && target > disk_max_parts(disk))
disk_release_events(disk);
kfree(disk->random);
disk_replace_part_tbl(disk, NULL);
disk_release_events(disk);
kfree(disk->random);
disk_replace_part_tbl(disk, NULL);