Lines Matching refs:piter
94 void disk_part_iter_init(struct disk_part_iter *piter, struct gendisk *disk, in disk_part_iter_init() argument
102 piter->disk = disk; in disk_part_iter_init()
103 piter->part = NULL; in disk_part_iter_init()
106 piter->idx = ptbl->len - 1; in disk_part_iter_init()
108 piter->idx = 0; in disk_part_iter_init()
110 piter->idx = 1; in disk_part_iter_init()
112 piter->flags = flags; in disk_part_iter_init()
127 struct hd_struct *disk_part_iter_next(struct disk_part_iter *piter) in disk_part_iter_next() argument
133 disk_put_part(piter->part); in disk_part_iter_next()
134 piter->part = NULL; in disk_part_iter_next()
138 ptbl = rcu_dereference(piter->disk->part_tbl); in disk_part_iter_next()
141 if (piter->flags & DISK_PITER_REVERSE) { in disk_part_iter_next()
143 if (piter->flags & (DISK_PITER_INCL_PART0 | in disk_part_iter_next()
154 for (; piter->idx != end; piter->idx += inc) { in disk_part_iter_next()
157 part = rcu_dereference(ptbl->part[piter->idx]); in disk_part_iter_next()
161 !(piter->flags & DISK_PITER_INCL_EMPTY) && in disk_part_iter_next()
162 !(piter->flags & DISK_PITER_INCL_EMPTY_PART0 && in disk_part_iter_next()
163 piter->idx == 0)) in disk_part_iter_next()
167 piter->part = part; in disk_part_iter_next()
168 piter->idx += inc; in disk_part_iter_next()
174 return piter->part; in disk_part_iter_next()
187 void disk_part_iter_exit(struct disk_part_iter *piter) in disk_part_iter_exit() argument
189 disk_put_part(piter->part); in disk_part_iter_exit()
190 piter->part = NULL; in disk_part_iter_exit()
511 struct disk_part_iter piter; in register_disk() local
567 disk_part_iter_init(&piter, disk, 0); in register_disk()
568 while ((part = disk_part_iter_next(&piter))) in register_disk()
570 disk_part_iter_exit(&piter); in register_disk()
637 struct disk_part_iter piter; in del_gendisk() local
643 disk_part_iter_init(&piter, disk, in del_gendisk()
645 while ((part = disk_part_iter_next(&piter))) { in del_gendisk()
649 disk_part_iter_exit(&piter); in del_gendisk()
746 struct disk_part_iter piter; in printk_all_partitions() local
764 disk_part_iter_init(&piter, disk, DISK_PITER_INCL_PART0); in printk_all_partitions()
765 while ((part = disk_part_iter_next(&piter))) { in printk_all_partitions()
783 disk_part_iter_exit(&piter); in printk_all_partitions()
847 struct disk_part_iter piter; in show_partition() local
859 disk_part_iter_init(&piter, sgp, DISK_PITER_INCL_PART0); in show_partition()
860 while ((part = disk_part_iter_next(&piter))) in show_partition()
865 disk_part_iter_exit(&piter); in show_partition()
1150 struct disk_part_iter piter; in diskstats_show() local
1163 disk_part_iter_init(&piter, gp, DISK_PITER_INCL_EMPTY_PART0); in diskstats_show()
1164 while ((hd = disk_part_iter_next(&piter))) { in diskstats_show()
1185 disk_part_iter_exit(&piter); in diskstats_show()
1347 struct disk_part_iter piter; in set_disk_ro() local
1355 disk_part_iter_init(&piter, disk, DISK_PITER_INCL_EMPTY); in set_disk_ro()
1356 while ((part = disk_part_iter_next(&piter))) in set_disk_ro()
1358 disk_part_iter_exit(&piter); in set_disk_ro()