Lines Matching refs:part
269 struct block_device *part = dev_to_bdev(dev); in part_uevent() local
271 add_uevent_var(env, "PARTN=%u", part->bd_partno); in part_uevent()
272 if (part->bd_meta_info && part->bd_meta_info->volname[0]) in part_uevent()
273 add_uevent_var(env, "PARTNAME=%s", part->bd_meta_info->volname); in part_uevent()
284 static void delete_partition(struct block_device *part) in delete_partition() argument
286 lockdep_assert_held(&part->bd_disk->open_mutex); in delete_partition()
288 fsync_bdev(part); in delete_partition()
289 __invalidate_device(part, true); in delete_partition()
291 xa_erase(&part->bd_disk->part_tbl, part->bd_partno); in delete_partition()
292 kobject_put(part->bd_holder_dir); in delete_partition()
293 device_del(&part->bd_device); in delete_partition()
299 remove_inode_hash(part->bd_inode); in delete_partition()
301 put_device(&part->bd_device); in delete_partition()
436 struct block_device *part; in partition_overlaps() local
441 xa_for_each_start(&disk->part_tbl, idx, part, 1) { in partition_overlaps()
442 if (part->bd_partno != skip_partno && in partition_overlaps()
443 start < part->bd_start_sect + bdev_nr_sectors(part) && in partition_overlaps()
444 start + length > part->bd_start_sect) { in partition_overlaps()
457 struct block_device *part; in bdev_add_partition() local
476 part = add_partition(disk, partno, start, length, in bdev_add_partition()
478 ret = PTR_ERR_OR_ZERO(part); in bdev_add_partition()
486 struct block_device *part = NULL; in bdev_del_partition() local
490 part = xa_load(&disk->part_tbl, partno); in bdev_del_partition()
491 if (!part) in bdev_del_partition()
495 if (part->bd_openers) in bdev_del_partition()
498 delete_partition(part); in bdev_del_partition()
508 struct block_device *part = NULL; in bdev_resize_partition() local
512 part = xa_load(&disk->part_tbl, partno); in bdev_resize_partition()
513 if (!part) in bdev_resize_partition()
517 if (start != part->bd_start_sect) in bdev_resize_partition()
524 bdev_set_nr_sectors(part, length); in bdev_resize_partition()
547 struct block_device *part; in blk_drop_partitions() local
552 xa_for_each_start(&disk->part_tbl, idx, part, 1) in blk_drop_partitions()
553 delete_partition(part); in blk_drop_partitions()
561 struct block_device *part; in blk_add_partition() local
591 part = add_partition(disk, p, from, size, state->parts[p].flags, in blk_add_partition()
593 if (IS_ERR(part) && PTR_ERR(part) != -ENXIO) { in blk_add_partition()
595 disk->disk_name, p, -PTR_ERR(part)); in blk_add_partition()
601 md_autodetect_dev(part->bd_dev); in blk_add_partition()