Lines Matching full:left
160 /* Overlaps with the left side of the clearing range */
183 struct range_node *left;
186 left = range_it_iter_first(rt, start, last);
187 if (left && left->rn_start <= start && left->rn_last >= last)
197 struct range_node *left;
201 left = range_it_iter_first(rt, start, last);
202 if (left && left->rn_start <= start && left->rn_last >= last)
210 /* Do we have a left-adjacent range ? */
211 left = range_it_iter_first(rt, start - 1, start - 1);
212 if (left && left->rn_last + 1 != start)
220 if (left && right) {
221 /* Combine left and right adjacent ranges */
222 range_it_remove(left, rt);
224 left->rn_last = right->rn_last;
225 range_it_insert(left, rt);
227 } else if (left) {
228 /* Combine with the left range */
229 range_it_remove(left, rt);
230 left->rn_last = last;
231 range_it_insert(left, rt);
238 left = kmalloc_nolock(sizeof(struct range_node), __GFP_ACCOUNT, NUMA_NO_NODE);
239 if (!left)
241 left->rn_start = start;
242 left->rn_last = last;
243 range_it_insert(left, rt);