Lines Matching full:part
251 const struct block_device *part = dev_to_bdev(dev); in part_uevent() local
253 add_uevent_var(env, "PARTN=%u", part->bd_partno); in part_uevent()
254 if (part->bd_meta_info && part->bd_meta_info->volname[0]) in part_uevent()
255 add_uevent_var(env, "PARTNAME=%s", part->bd_meta_info->volname); in part_uevent()
266 void drop_partition(struct block_device *part) in drop_partition() argument
268 lockdep_assert_held(&part->bd_disk->open_mutex); in drop_partition()
270 xa_erase(&part->bd_disk->part_tbl, part->bd_partno); in drop_partition()
271 kobject_put(part->bd_holder_dir); in drop_partition()
273 device_del(&part->bd_device); in drop_partition()
274 put_device(&part->bd_device); in drop_partition()
277 static void delete_partition(struct block_device *part) in delete_partition() argument
283 remove_inode_hash(part->bd_inode); in delete_partition()
284 bdev_mark_dead(part, false); in delete_partition()
285 drop_partition(part); in delete_partition()
420 struct block_device *part; in partition_overlaps() local
425 xa_for_each_start(&disk->part_tbl, idx, part, 1) { in partition_overlaps()
426 if (part->bd_partno != skip_partno && in partition_overlaps()
427 start < part->bd_start_sect + bdev_nr_sectors(part) && in partition_overlaps()
428 start + length > part->bd_start_sect) { in partition_overlaps()
442 struct block_device *part; in bdev_add_partition() local
466 part = add_partition(disk, partno, start, length, in bdev_add_partition()
468 ret = PTR_ERR_OR_ZERO(part); in bdev_add_partition()
476 struct block_device *part = NULL; in bdev_del_partition() local
480 part = xa_load(&disk->part_tbl, partno); in bdev_del_partition()
481 if (!part) in bdev_del_partition()
485 if (atomic_read(&part->bd_openers)) in bdev_del_partition()
488 delete_partition(part); in bdev_del_partition()
498 struct block_device *part = NULL; in bdev_resize_partition() local
502 part = xa_load(&disk->part_tbl, partno); in bdev_resize_partition()
503 if (!part) in bdev_resize_partition()
507 if (start != part->bd_start_sect) in bdev_resize_partition()
514 bdev_set_nr_sectors(part, length); in bdev_resize_partition()
540 struct block_device *part; in blk_add_partition() local
570 part = add_partition(disk, p, from, size, state->parts[p].flags, in blk_add_partition()
572 if (IS_ERR(part) && PTR_ERR(part) != -ENXIO) { in blk_add_partition()
574 disk->disk_name, p, -PTR_ERR(part)); in blk_add_partition()
580 md_autodetect_dev(part->bd_dev); in blk_add_partition()
651 struct block_device *part; in bdev_disk_changed() local
666 xa_for_each_start(&disk->part_tbl, idx, part, 1) in bdev_disk_changed()
667 delete_partition(part); in bdev_disk_changed()