Lines Matching refs:part

95 static void part_stat_read_all(struct hd_struct *part, struct disk_stats *stat)  in part_stat_read_all()  argument
101 struct disk_stats *ptr = per_cpu_ptr(part->dkstats, cpu); in part_stat_read_all()
115 static unsigned int part_in_flight(struct hd_struct *part) in part_in_flight() argument
121 inflight += part_stat_local_read_cpu(part, in_flight[0], cpu) + in part_in_flight()
122 part_stat_local_read_cpu(part, in_flight[1], cpu); in part_in_flight()
130 static void part_in_flight_rw(struct hd_struct *part, unsigned int inflight[2]) in part_in_flight_rw() argument
137 inflight[0] += part_stat_local_read_cpu(part, in_flight[0], cpu); in part_in_flight_rw()
138 inflight[1] += part_stat_local_read_cpu(part, in_flight[1], cpu); in part_in_flight_rw()
152 return rcu_dereference(ptbl->part[partno]); in __disk_get_part()
171 struct hd_struct *part; in disk_get_part() local
174 part = __disk_get_part(disk, partno); in disk_get_part()
175 if (part) in disk_get_part()
176 get_device(part_to_dev(part)); in disk_get_part()
179 return part; in disk_get_part()
202 piter->part = NULL; in disk_part_iter_init()
232 disk_put_part(piter->part); in disk_part_iter_next()
233 piter->part = NULL; in disk_part_iter_next()
254 struct hd_struct *part; in disk_part_iter_next() local
256 part = rcu_dereference(ptbl->part[piter->idx]); in disk_part_iter_next()
257 if (!part) in disk_part_iter_next()
259 get_device(part_to_dev(part)); in disk_part_iter_next()
260 piter->part = part; in disk_part_iter_next()
261 if (!part_nr_sects_read(part) && in disk_part_iter_next()
265 put_device(part_to_dev(part)); in disk_part_iter_next()
266 piter->part = NULL; in disk_part_iter_next()
276 return piter->part; in disk_part_iter_next()
291 disk_put_part(piter->part); in disk_part_iter_exit()
292 piter->part = NULL; in disk_part_iter_exit()
296 static inline int sector_in_part(struct hd_struct *part, sector_t sector) in sector_in_part() argument
298 return part->start_sect <= sector && in sector_in_part()
299 sector < part->start_sect + part_nr_sects_read(part); in sector_in_part()
322 struct hd_struct *part; in disk_map_sector_rcu() local
328 part = rcu_dereference(ptbl->last_lookup); in disk_map_sector_rcu()
329 if (part && sector_in_part(part, sector) && hd_struct_try_get(part)) in disk_map_sector_rcu()
333 part = rcu_dereference(ptbl->part[i]); in disk_map_sector_rcu()
335 if (part && sector_in_part(part, sector)) { in disk_map_sector_rcu()
341 if (!hd_struct_try_get(part)) in disk_map_sector_rcu()
343 rcu_assign_pointer(ptbl->last_lookup, part); in disk_map_sector_rcu()
348 part = &disk->part0; in disk_map_sector_rcu()
351 return part; in disk_map_sector_rcu()
378 if (rcu_dereference(ptbl->part[i])) { in disk_has_partitions()
574 int blk_alloc_devt(struct hd_struct *part, dev_t *devt) in blk_alloc_devt() argument
576 struct gendisk *disk = part_to_disk(part); in blk_alloc_devt()
580 if (part->partno < disk->minors) { in blk_alloc_devt()
581 *devt = MKDEV(disk->major, disk->first_minor + part->partno); in blk_alloc_devt()
589 idx = idr_alloc(&ext_devt_idr, part, 0, NR_EXT_DEVT, GFP_NOWAIT); in blk_alloc_devt()
700 struct hd_struct *part; in register_disk() local
746 while ((part = disk_part_iter_next(&piter))) in register_disk()
747 kobject_uevent(&part_to_dev(part)->kobj, KOBJ_ADD); in register_disk()
895 struct hd_struct *part; in del_gendisk() local
910 while ((part = disk_part_iter_next(&piter))) { in del_gendisk()
911 invalidate_partition(disk, part->partno); in del_gendisk()
912 delete_partition(part); in del_gendisk()
1005 struct hd_struct *part; in get_gendisk() local
1008 part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt))); in get_gendisk()
1009 if (part && get_disk_and_module(part_to_disk(part))) { in get_gendisk()
1010 *partno = part->partno; in get_gendisk()
1011 disk = part_to_disk(part); in get_gendisk()
1050 struct hd_struct *part; in bdget_disk() local
1053 part = disk_get_part(disk, partno); in bdget_disk()
1054 if (part) in bdget_disk()
1055 bdev = bdget_part(part); in bdget_disk()
1056 disk_put_part(part); in bdget_disk()
1076 struct hd_struct *part; in printk_all_partitions() local
1094 while ((part = disk_part_iter_next(&piter))) { in printk_all_partitions()
1095 bool is_part0 = part == &disk->part0; in printk_all_partitions()
1098 bdevt_str(part_devt(part), devt_buf), in printk_all_partitions()
1099 (unsigned long long)part_nr_sects_read(part) >> 1 in printk_all_partitions()
1100 , disk_name(disk, part->partno, name_buf), in printk_all_partitions()
1101 part->info ? part->info->uuid : ""); in printk_all_partitions()
1177 struct hd_struct *part; in show_partition() local
1189 while ((part = disk_part_iter_next(&piter))) in show_partition()
1191 MAJOR(part_devt(part)), MINOR(part_devt(part)), in show_partition()
1192 (unsigned long long)part_nr_sects_read(part) >> 1, in show_partition()
1193 disk_name(sgp, part->partno, buf)); in show_partition()
1522 new_ptbl = kzalloc_node(struct_size(new_ptbl, part, target), GFP_KERNEL, in disk_expand_part_tbl()
1530 rcu_assign_pointer(new_ptbl->part[i], old_ptbl->part[i]); in disk_expand_part_tbl()
1690 struct hd_struct *part; in blk_lookup_devt() local
1703 part = disk_get_part(disk, partno); in blk_lookup_devt()
1704 if (part) { in blk_lookup_devt()
1705 devt = part_devt(part); in blk_lookup_devt()
1706 disk_put_part(part); in blk_lookup_devt()
1709 disk_put_part(part); in blk_lookup_devt()
1743 rcu_assign_pointer(ptbl->part[0], &disk->part0); in __alloc_disk_node()
1860 struct hd_struct *part; in set_disk_ro() local
1868 while ((part = disk_part_iter_next(&piter))) in set_disk_ro()
1869 part->policy = flag; in set_disk_ro()