Lines Matching defs:shift

56 static void node_shift(struct btree_node *n, int shift)
61 if (shift < 0) {
62 shift = -shift;
63 BUG_ON(shift > nr_entries);
64 BUG_ON((void *) key_ptr(n, shift) >= value_ptr(n, shift));
66 key_ptr(n, shift),
67 (nr_entries - shift) * sizeof(__le64));
69 value_ptr(n, shift),
70 (nr_entries - shift) * value_size);
72 BUG_ON(nr_entries + shift > le32_to_cpu(n->header.max_entries));
73 memmove(key_ptr(n, shift),
76 memmove(value_ptr(n, shift),
82 static void node_copy(struct btree_node *left, struct btree_node *right, int shift)
88 if (shift < 0) {
89 shift = -shift;
90 BUG_ON(nr_left + shift > le32_to_cpu(left->header.max_entries));
93 shift * sizeof(__le64));
96 shift * value_size);
98 BUG_ON(shift > le32_to_cpu(right->header.max_entries));
100 key_ptr(left, nr_left - shift),
101 shift * sizeof(__le64));
103 value_ptr(left, nr_left - shift),
104 shift * value_size);
173 static void shift(struct btree_node *left, struct btree_node *right, int count)
232 shift(left, right, nr_left - target_left);
275 unsigned shift = min(max_entries - nr_left, nr_center);
277 BUG_ON(nr_left + shift > max_entries);
278 node_copy(left, center, -shift);
279 left->header.nr_entries = cpu_to_le32(nr_left + shift);
281 if (shift != nr_center) {
282 shift = nr_center - shift;
283 BUG_ON((nr_right + shift) > max_entries);
284 node_shift(right, shift);
285 node_copy(center, right, shift);
286 right->header.nr_entries = cpu_to_le32(nr_right + shift);
320 shift(left, center, -nr_center);
322 shift(left, right, s);
325 shift(left, center, s);
327 shift(center, right, target_right - nr_right);
333 shift(center, right, nr_center);
335 shift(left, right, s);
338 shift(center, right, s);
340 shift(left, center, nr_left - target_left);