Lines Matching refs:part
228 struct hd_struct *part = container_of(head, struct hd_struct, rcu_head); in delete_partition_rcu_cb() local
230 part->start_sect = 0; in delete_partition_rcu_cb()
231 part->nr_sects = 0; in delete_partition_rcu_cb()
232 part_stat_set_all(part, 0); in delete_partition_rcu_cb()
233 put_device(part_to_dev(part)); in delete_partition_rcu_cb()
236 void __delete_partition(struct hd_struct *part) in __delete_partition() argument
238 call_rcu(&part->rcu_head, delete_partition_rcu_cb); in __delete_partition()
244 struct hd_struct *part; in delete_partition() local
249 part = ptbl->part[partno]; in delete_partition()
250 if (!part) in delete_partition()
253 rcu_assign_pointer(ptbl->part[partno], NULL); in delete_partition()
255 kobject_put(part->holder_dir); in delete_partition()
256 device_del(part_to_dev(part)); in delete_partition()
258 hd_struct_put(part); in delete_partition()
286 if (ptbl->part[partno]) in add_partition()
353 rcu_assign_pointer(ptbl->part[partno], p); in add_partition()
397 struct hd_struct *part; in drop_partitions() local
407 while ((part = disk_part_iter_next(&piter))) in drop_partitions()
408 delete_partition(disk, part->partno); in drop_partitions()
417 struct hd_struct *part; in rescan_partitions() local
515 part = add_partition(disk, p, from, size, in rescan_partitions()
518 if (IS_ERR(part)) { in rescan_partitions()
520 disk->disk_name, p, -PTR_ERR(part)); in rescan_partitions()
525 md_autodetect_dev(part_to_dev(part)->devt); in rescan_partitions()