Lines Matching refs:parent_index
645 static int split_one_into_two(struct shadow_spine *s, unsigned parent_index, in split_one_into_two() argument
674 r = insert_at(sizeof(__le64), pn, parent_index + 1, in split_one_into_two()
728 static int split_two_into_three(struct shadow_spine *s, unsigned parent_index, in split_two_into_three() argument
740 if (parent_index == 0) { in split_two_into_three()
743 r = shadow_child(s->info, vt, pn, parent_index + 1, &right); in split_two_into_three()
747 middle_index = parent_index; in split_two_into_three()
749 r = shadow_child(s->info, vt, pn, parent_index - 1, &left); in split_two_into_three()
907 unsigned parent_index, uint64_t key) in rebalance_left() argument
913 r = shadow_child(s->info, vt, parent, parent_index - 1, &sib); in rebalance_left()
920 *key_ptr(parent, parent_index) = right->keys[0]; in rebalance_left()
936 unsigned parent_index, uint64_t key) in rebalance_right() argument
942 r = shadow_child(s->info, vt, parent, parent_index + 1, &sib); in rebalance_right()
949 *key_ptr(parent, parent_index + 1) = right->keys[0]; in rebalance_right()
993 unsigned parent_index, uint64_t key) in rebalance_or_split() argument
1002 if (parent_index > 0) { in rebalance_or_split()
1003 dm_block_t left_b = value64(parent, parent_index - 1); in rebalance_or_split()
1014 return rebalance_left(s, vt, parent_index, key); in rebalance_or_split()
1019 if (parent_index < (nr_parent - 1)) { in rebalance_or_split()
1020 dm_block_t right_b = value64(parent, parent_index + 1); in rebalance_or_split()
1031 return rebalance_right(s, vt, parent_index, key); in rebalance_or_split()
1042 (parent_index == 0) || (parent_index + 1 == nr_parent)) { in rebalance_or_split()
1043 return split_one_into_two(s, parent_index, vt, key); in rebalance_or_split()
1045 return split_two_into_three(s, parent_index, vt, key); in rebalance_or_split()