Lines Matching full:part
254 const struct block_device *part = dev_to_bdev(dev); in part_uevent() local
256 add_uevent_var(env, "PARTN=%u", bdev_partno(part)); in part_uevent()
257 if (part->bd_meta_info && part->bd_meta_info->volname[0]) in part_uevent()
258 add_uevent_var(env, "PARTNAME=%s", part->bd_meta_info->volname); in part_uevent()
259 if (part->bd_meta_info && part->bd_meta_info->uuid[0]) in part_uevent()
260 add_uevent_var(env, "PARTUUID=%s", part->bd_meta_info->uuid); in part_uevent()
271 void drop_partition(struct block_device *part) in drop_partition() argument
273 lockdep_assert_held(&part->bd_disk->open_mutex); in drop_partition()
275 xa_erase(&part->bd_disk->part_tbl, bdev_partno(part)); in drop_partition()
276 kobject_put(part->bd_holder_dir); in drop_partition()
278 device_del(&part->bd_device); in drop_partition()
279 put_device(&part->bd_device); in drop_partition()
409 struct block_device *part; in partition_overlaps() local
414 xa_for_each_start(&disk->part_tbl, idx, part, 1) { in partition_overlaps()
415 if (bdev_partno(part) != skip_partno && in partition_overlaps()
416 start < part->bd_start_sect + bdev_nr_sectors(part) && in partition_overlaps()
417 start + length > part->bd_start_sect) { in partition_overlaps()
430 struct block_device *part; in bdev_add_partition() local
449 part = add_partition(disk, partno, start, length, in bdev_add_partition()
451 ret = PTR_ERR_OR_ZERO(part); in bdev_add_partition()
459 struct block_device *part = NULL; in bdev_del_partition() local
463 part = xa_load(&disk->part_tbl, partno); in bdev_del_partition()
464 if (!part) in bdev_del_partition()
468 if (atomic_read(&part->bd_openers)) in bdev_del_partition()
472 * We verified that @part->bd_openers is zero above and so in bdev_del_partition()
473 * @part->bd_holder{_ops} can't be set. And since we hold in bdev_del_partition()
476 * So no need to call @part->bd_holder_ops->mark_dead() here. in bdev_del_partition()
480 bdev_unhash(part); in bdev_del_partition()
481 invalidate_bdev(part); in bdev_del_partition()
482 drop_partition(part); in bdev_del_partition()
492 struct block_device *part = NULL; in bdev_resize_partition() local
496 part = xa_load(&disk->part_tbl, partno); in bdev_resize_partition()
497 if (!part) in bdev_resize_partition()
501 if (start != part->bd_start_sect) in bdev_resize_partition()
508 bdev_set_nr_sectors(part, length); in bdev_resize_partition()
534 struct block_device *part; in blk_add_partition() local
564 part = add_partition(disk, p, from, size, state->parts[p].flags, in blk_add_partition()
566 if (IS_ERR(part)) { in blk_add_partition()
567 if (PTR_ERR(part) != -ENXIO) { in blk_add_partition()
569 disk->disk_name, p, part); in blk_add_partition()
576 md_autodetect_dev(part->bd_dev); in blk_add_partition()
644 struct block_device *part; in bdev_disk_changed() local
659 xa_for_each_start(&disk->part_tbl, idx, part, 1) { in bdev_disk_changed()
665 bdev_unhash(part); in bdev_disk_changed()
672 WARN_ON_ONCE(atomic_read(&part->bd_openers)); in bdev_disk_changed()
673 invalidate_bdev(part); in bdev_disk_changed()
674 drop_partition(part); in bdev_disk_changed()