Home | History | Annotate | Download | only in ext2fs

Lines Matching full:parent

28 	struct rb_node *parent = ext2fs_rb_parent(node);
34 ext2fs_rb_set_parent(right, parent);
36 if (parent)
38 if (node == parent->rb_left)
39 parent->rb_left = right;
41 parent->rb_right = right;
51 struct rb_node *parent = ext2fs_rb_parent(node);
57 ext2fs_rb_set_parent(left, parent);
59 if (parent)
61 if (node == parent->rb_right)
62 parent->rb_right = left;
64 parent->rb_left = left;
73 struct rb_node *parent, *gparent;
75 while ((parent = ext2fs_rb_parent(node)) && ext2fs_rb_is_red(parent))
77 gparent = ext2fs_rb_parent(parent);
79 if (parent == gparent->rb_left)
86 ext2fs_rb_set_black(parent);
93 if (parent->rb_right == node)
96 __rb_rotate_left(parent, root);
97 tmp = parent;
98 parent = node;
102 ext2fs_rb_set_black(parent);
111 ext2fs_rb_set_black(parent);
118 if (parent->rb_left == node)
121 __rb_rotate_right(parent, root);
122 tmp = parent;
123 parent = node;
127 ext2fs_rb_set_black(parent);
136 static void __rb_erase_color(struct rb_node *node, struct rb_node *parent,
143 if (parent->rb_left == node)
145 other = parent->rb_right;
149 ext2fs_rb_set_red(parent);
150 __rb_rotate_left(parent, root);
151 other = parent->rb_right;
157 node = parent;
158 parent = ext2fs_rb_parent(node);
167 other = parent->rb_right;
169 ext2fs_rb_set_color(other, ext2fs_rb_color(parent));
170 ext2fs_rb_set_black(parent);
172 __rb_rotate_left(parent, root);
179 other = parent->rb_left;
183 ext2fs_rb_set_red(parent);
184 __rb_rotate_right(parent, root);
185 other = parent->rb_left;
191 node = parent;
192 parent = ext2fs_rb_parent(node);
201 other = parent->rb_left;
203 ext2fs_rb_set_color(other, ext2fs_rb_color(parent));
204 ext2fs_rb_set_black(parent);
206 __rb_rotate_right(parent, root);
218 struct rb_node *child, *parent;
242 parent = ext2fs_rb_parent(node);
245 if (parent == old) {
246 parent = node;
249 ext2fs_rb_set_parent(child, parent);
250 parent->rb_left = child;
263 parent = ext2fs_rb_parent(node);
267 ext2fs_rb_set_parent(child, parent);
268 if (parent)
270 if (parent->rb_left == node)
271 parent->rb_left = child;
273 parent->rb_right = child;
280 __rb_erase_color(child, parent, root);
285 struct rb_node *parent;
289 parent = ext2fs_rb_parent(node);
290 if (!parent)
293 if (node == parent->rb_left && parent->rb_right)
294 func(parent->rb_right, data);
295 else if (parent->rb_left)
296 func(parent->rb_left, data);
298 node = parent;
380 struct rb_node *parent;
396 direction of our parent. Go up the tree; any time the
397 ancestor is a right-hand child of its parent, keep going
398 up. First time it's a left-hand child of its parent, said
399 parent is our 'next' node. */
400 while ((parent = ext2fs_rb_parent(node)) && node == parent->rb_right)
401 node = parent;
403 return parent;
408 struct rb_node *parent;
423 is a right-hand child of its parent */
424 while ((parent = ext2fs_rb_parent(node)) && node == parent->rb_left)
425 node = parent;
427 return parent;
433 struct rb_node *parent = ext2fs_rb_parent(victim);
436 if (parent) {
437 if (victim == parent->rb_left)
438 parent->rb_left = new;
440 parent->rb_right = new;