Lines Matching refs:left
82 static void node_copy(struct btree_node *left, struct btree_node *right, int shift) in node_copy() argument
84 uint32_t nr_left = le32_to_cpu(left->header.nr_entries); in node_copy()
85 uint32_t value_size = le32_to_cpu(left->header.value_size); in node_copy()
90 BUG_ON(nr_left + shift > le32_to_cpu(left->header.max_entries)); in node_copy()
91 memcpy(key_ptr(left, nr_left), in node_copy()
94 memcpy(value_ptr(left, nr_left), in node_copy()
100 key_ptr(left, nr_left - shift), in node_copy()
103 value_ptr(left, nr_left - shift), in node_copy()
173 static void shift(struct btree_node *left, struct btree_node *right, int count) in shift() argument
175 uint32_t nr_left = le32_to_cpu(left->header.nr_entries); in shift()
177 uint32_t max_entries = le32_to_cpu(left->header.max_entries); in shift()
189 node_copy(left, right, count); in shift()
191 node_copy(left, right, count); in shift()
195 left->header.nr_entries = cpu_to_le32(nr_left - count); in shift()
202 struct btree_node *left = l->n; in __rebalance2() local
204 uint32_t nr_left = le32_to_cpu(left->header.nr_entries); in __rebalance2()
206 unsigned threshold = 2 * merge_threshold(left) + 1; in __rebalance2()
212 node_copy(left, right, -nr_right); in __rebalance2()
213 left->header.nr_entries = cpu_to_le32(nr_left + nr_right); in __rebalance2()
226 shift(left, right, nr_left - target_left); in __rebalance2()
236 struct child left, right; in rebalance2() local
240 r = init_child(info, vt, parent, left_index, &left); in rebalance2()
246 exit_child(info, &left); in rebalance2()
250 __rebalance2(info, parent, &left, &right); in rebalance2()
252 r = exit_child(info, &left); in rebalance2()
268 struct btree_node *left, struct btree_node *center, struct btree_node *right, in delete_center_node() argument
271 uint32_t max_entries = le32_to_cpu(left->header.max_entries); in delete_center_node()
275 node_copy(left, center, -shift); in delete_center_node()
276 left->header.nr_entries = cpu_to_le32(nr_left + shift); in delete_center_node()
299 struct btree_node *left, struct btree_node *center, struct btree_node *right, in redistribute3() argument
303 uint32_t max_entries = le32_to_cpu(left->header.max_entries); in redistribute3()
312 shift(left, center, nr_center); in redistribute3()
314 shift(left, right, s); in redistribute3()
317 shift(left, center, s); in redistribute3()
327 shift(left, right, s); in redistribute3()
332 shift(left, center, nr_left - target); in redistribute3()
342 struct btree_node *left = l->n; in __rebalance3() local
346 uint32_t nr_left = le32_to_cpu(left->header.nr_entries); in __rebalance3()
350 unsigned threshold = merge_threshold(left) * 4 + 1; in __rebalance3()
352 BUG_ON(left->header.max_entries != center->header.max_entries); in __rebalance3()
356 delete_center_node(info, parent, l, c, r, left, center, right, in __rebalance3()
359 redistribute3(info, parent, l, c, r, left, center, right, in __rebalance3()
368 struct child left, center, right; in rebalance3() local
373 r = init_child(info, vt, parent, left_index, &left); in rebalance3()
379 exit_child(info, &left); in rebalance3()
385 exit_child(info, &left); in rebalance3()
390 __rebalance3(info, parent, &left, ¢er, &right); in rebalance3()
392 r = exit_child(info, &left); in rebalance3()