Lines Matching refs:part

49 void part_inc_in_flight(struct request_queue *q, struct hd_struct *part, int rw)  in part_inc_in_flight()  argument
54 part_stat_local_inc(part, in_flight[rw]); in part_inc_in_flight()
55 if (part->partno) in part_inc_in_flight()
56 part_stat_local_inc(&part_to_disk(part)->part0, in_flight[rw]); in part_inc_in_flight()
59 void part_dec_in_flight(struct request_queue *q, struct hd_struct *part, int rw) in part_dec_in_flight() argument
64 part_stat_local_dec(part, in_flight[rw]); in part_dec_in_flight()
65 if (part->partno) in part_dec_in_flight()
66 part_stat_local_dec(&part_to_disk(part)->part0, in_flight[rw]); in part_dec_in_flight()
69 unsigned int part_in_flight(struct request_queue *q, struct hd_struct *part) in part_in_flight() argument
75 return blk_mq_in_flight(q, part); in part_in_flight()
80 inflight += part_stat_local_read_cpu(part, in_flight[0], cpu) + in part_in_flight()
81 part_stat_local_read_cpu(part, in_flight[1], cpu); in part_in_flight()
89 void part_in_flight_rw(struct request_queue *q, struct hd_struct *part, in part_in_flight_rw() argument
95 blk_mq_in_flight_rw(q, part, inflight); in part_in_flight_rw()
102 inflight[0] += part_stat_local_read_cpu(part, in_flight[0], cpu); in part_in_flight_rw()
103 inflight[1] += part_stat_local_read_cpu(part, in_flight[1], cpu); in part_in_flight_rw()
117 return rcu_dereference(ptbl->part[partno]); in __disk_get_part()
136 struct hd_struct *part; in disk_get_part() local
139 part = __disk_get_part(disk, partno); in disk_get_part()
140 if (part) in disk_get_part()
141 get_device(part_to_dev(part)); in disk_get_part()
144 return part; in disk_get_part()
168 piter->part = NULL; in disk_part_iter_init()
198 disk_put_part(piter->part); in disk_part_iter_next()
199 piter->part = NULL; in disk_part_iter_next()
220 struct hd_struct *part; in disk_part_iter_next() local
222 part = rcu_dereference(ptbl->part[piter->idx]); in disk_part_iter_next()
223 if (!part) in disk_part_iter_next()
225 if (!part_nr_sects_read(part) && in disk_part_iter_next()
231 get_device(part_to_dev(part)); in disk_part_iter_next()
232 piter->part = part; in disk_part_iter_next()
239 return piter->part; in disk_part_iter_next()
254 disk_put_part(piter->part); in disk_part_iter_exit()
255 piter->part = NULL; in disk_part_iter_exit()
259 static inline int sector_in_part(struct hd_struct *part, sector_t sector) in sector_in_part() argument
261 return part->start_sect <= sector && in sector_in_part()
262 sector < part->start_sect + part_nr_sects_read(part); in sector_in_part()
283 struct hd_struct *part; in disk_map_sector_rcu() local
288 part = rcu_dereference(ptbl->last_lookup); in disk_map_sector_rcu()
289 if (part && sector_in_part(part, sector)) in disk_map_sector_rcu()
290 return part; in disk_map_sector_rcu()
293 part = rcu_dereference(ptbl->part[i]); in disk_map_sector_rcu()
295 if (part && sector_in_part(part, sector)) { in disk_map_sector_rcu()
296 rcu_assign_pointer(ptbl->last_lookup, part); in disk_map_sector_rcu()
297 return part; in disk_map_sector_rcu()
488 int blk_alloc_devt(struct hd_struct *part, dev_t *devt) in blk_alloc_devt() argument
490 struct gendisk *disk = part_to_disk(part); in blk_alloc_devt()
494 if (part->partno < disk->minors) { in blk_alloc_devt()
495 *devt = MKDEV(disk->major, disk->first_minor + part->partno); in blk_alloc_devt()
503 idx = idr_alloc(&ext_devt_idr, part, 0, NR_EXT_DEVT, GFP_NOWAIT); in blk_alloc_devt()
602 struct hd_struct *part; in register_disk() local
667 while ((part = disk_part_iter_next(&piter))) in register_disk()
668 kobject_uevent(&part_to_dev(part)->kobj, KOBJ_ADD); in register_disk()
776 struct hd_struct *part; in del_gendisk() local
789 while ((part = disk_part_iter_next(&piter))) { in del_gendisk()
790 invalidate_partition(disk, part->partno); in del_gendisk()
791 bdev_unhash_inode(part_devt(part)); in del_gendisk()
792 delete_partition(disk, part->partno); in del_gendisk()
882 struct hd_struct *part; in get_gendisk() local
885 part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt))); in get_gendisk()
886 if (part && get_disk_and_module(part_to_disk(part))) { in get_gendisk()
887 *partno = part->partno; in get_gendisk()
888 disk = part_to_disk(part); in get_gendisk()
928 struct hd_struct *part; in bdget_disk() local
931 part = disk_get_part(disk, partno); in bdget_disk()
932 if (part) in bdget_disk()
933 bdev = bdget(part_devt(part)); in bdget_disk()
934 disk_put_part(part); in bdget_disk()
954 struct hd_struct *part; in printk_all_partitions() local
972 while ((part = disk_part_iter_next(&piter))) { in printk_all_partitions()
973 bool is_part0 = part == &disk->part0; in printk_all_partitions()
976 bdevt_str(part_devt(part), devt_buf), in printk_all_partitions()
977 (unsigned long long)part_nr_sects_read(part) >> 1 in printk_all_partitions()
978 , disk_name(disk, part->partno, name_buf), in printk_all_partitions()
979 part->info ? part->info->uuid : ""); in printk_all_partitions()
1055 struct hd_struct *part; in show_partition() local
1067 while ((part = disk_part_iter_next(&piter))) in show_partition()
1069 MAJOR(part_devt(part)), MINOR(part_devt(part)), in show_partition()
1070 (unsigned long long)part_nr_sects_read(part) >> 1, in show_partition()
1071 disk_name(sgp, part->partno, buf)); in show_partition()
1309 new_ptbl = kzalloc_node(struct_size(new_ptbl, part, target), GFP_KERNEL, in disk_expand_part_tbl()
1317 rcu_assign_pointer(new_ptbl->part[i], old_ptbl->part[i]); in disk_expand_part_tbl()
1438 struct hd_struct *part; in blk_lookup_devt() local
1451 part = disk_get_part(disk, partno); in blk_lookup_devt()
1452 if (part) { in blk_lookup_devt()
1453 devt = part_devt(part); in blk_lookup_devt()
1454 disk_put_part(part); in blk_lookup_devt()
1457 disk_put_part(part); in blk_lookup_devt()
1490 rcu_assign_pointer(ptbl->part[0], &disk->part0); in __alloc_disk_node()
1580 struct hd_struct *part; in set_disk_ro() local
1588 while ((part = disk_part_iter_next(&piter))) in set_disk_ro()
1589 part->policy = flag; in set_disk_ro()