Lines Matching +full:3 +full:br
109 struct xfs_bitmap_range *br; in xfs_bitmap_disunion() local
136 br = list_entry(lp, struct xfs_bitmap_range, list); in xfs_bitmap_disunion()
139 * Advance sub_br and/or br until we find a pair that in xfs_bitmap_disunion()
142 while (sub_br->start + sub_br->len <= br->start) { in xfs_bitmap_disunion()
147 if (sub_br->start >= br->start + br->len) { in xfs_bitmap_disunion()
155 if (sub_br->start < br->start) { in xfs_bitmap_disunion()
156 sub_len -= br->start - sub_br->start; in xfs_bitmap_disunion()
157 sub_start = br->start; in xfs_bitmap_disunion()
159 if (sub_len > br->len) in xfs_bitmap_disunion()
160 sub_len = br->len; in xfs_bitmap_disunion()
163 if (sub_start == br->start) in xfs_bitmap_disunion()
165 if (sub_start + sub_len == br->start + br->len) in xfs_bitmap_disunion()
170 br->start += sub_len; in xfs_bitmap_disunion()
171 br->len -= sub_len; in xfs_bitmap_disunion()
175 br->len -= sub_len; in xfs_bitmap_disunion()
181 list_del(&br->list); in xfs_bitmap_disunion()
182 kmem_free(br); in xfs_bitmap_disunion()
197 new_br->len = br->start + br->len - new_br->start; in xfs_bitmap_disunion()
198 list_add(&new_br->list, &br->list); in xfs_bitmap_disunion()
199 br->len = sub_start - br->start; in xfs_bitmap_disunion()
227 * 1 2 3
243 * For the 201st record, we've moved on to leaf block 3. bc_ptrs[0] == 1, so
244 * we add 3 to the list. Now it is [1, 4, 2, 3].
246 * For the 300th record we just exit, with the list being [1, 4, 2, 3].