• Home
  • Raw
  • Download

Lines Matching refs:ptr

27 	const struct assoc_array_ptr *cursor, *ptr, *parent;  in assoc_array_subtree_iterate()  local
52 ptr = READ_ONCE(node->slots[slot]); /* Address dependency. */ in assoc_array_subtree_iterate()
53 has_meta |= (unsigned long)ptr; in assoc_array_subtree_iterate()
54 if (ptr && assoc_array_ptr_is_leaf(ptr)) { in assoc_array_subtree_iterate()
59 ret = iterator(assoc_array_ptr_to_leaf(ptr), in assoc_array_subtree_iterate()
81 ptr = READ_ONCE(node->slots[slot]); /* Address dependency. */ in assoc_array_subtree_iterate()
82 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_subtree_iterate()
83 cursor = ptr; in assoc_array_subtree_iterate()
177 struct assoc_array_ptr *cursor, *ptr; in assoc_array_walk() local
209 ptr = READ_ONCE(node->slots[slot]); /* Address dependency. */ in assoc_array_walk()
212 slot, level, (unsigned long)ptr & 3); in assoc_array_walk()
214 if (!assoc_array_ptr_is_meta(ptr)) { in assoc_array_walk()
225 if (assoc_array_ptr_is_node(ptr)) { in assoc_array_walk()
229 cursor = ptr; in assoc_array_walk()
240 cursor = ptr; in assoc_array_walk()
310 const struct assoc_array_ptr *ptr; in assoc_array_find() local
324 ptr = READ_ONCE(node->slots[slot]); /* Address dependency. */ in assoc_array_find()
325 if (ptr && assoc_array_ptr_is_leaf(ptr)) { in assoc_array_find()
330 leaf = assoc_array_ptr_to_leaf(ptr); in assoc_array_find()
382 struct assoc_array_ptr *ptr = node->slots[slot]; in assoc_array_destroy_subtree() local
383 if (!ptr) in assoc_array_destroy_subtree()
385 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_destroy_subtree()
387 cursor = ptr; in assoc_array_destroy_subtree()
393 ops->free_object(assoc_array_ptr_to_leaf(ptr)); in assoc_array_destroy_subtree()
464 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_in_empty_tree()
481 struct assoc_array_ptr *ptr; in assoc_array_insert_into_terminal_node() local
505 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
506 if (!ptr) { in assoc_array_insert_into_terminal_node()
510 if (assoc_array_ptr_is_leaf(ptr) && in assoc_array_insert_into_terminal_node()
511 ops->compare_object(assoc_array_ptr_to_leaf(ptr), in assoc_array_insert_into_terminal_node()
552 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
553 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_insert_into_terminal_node()
559 assoc_array_ptr_to_leaf(ptr), level); in assoc_array_insert_into_terminal_node()
690 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
691 BUG_ON(assoc_array_ptr_is_leaf(ptr)); in assoc_array_insert_into_terminal_node()
692 if (assoc_array_ptr_is_node(ptr)) { in assoc_array_insert_into_terminal_node()
693 side = assoc_array_ptr_to_node(ptr); in assoc_array_insert_into_terminal_node()
696 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_insert_into_terminal_node()
702 ptr = node->back_pointer; in assoc_array_insert_into_terminal_node()
703 if (!ptr) in assoc_array_insert_into_terminal_node()
704 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_into_terminal_node()
705 else if (assoc_array_ptr_is_node(ptr)) in assoc_array_insert_into_terminal_node()
706 edit->set[0].ptr = &assoc_array_ptr_to_node(ptr)->slots[node->parent_slot]; in assoc_array_insert_into_terminal_node()
708 edit->set[0].ptr = &assoc_array_ptr_to_shortcut(ptr)->next_node; in assoc_array_insert_into_terminal_node()
776 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
777 base_seg = ops->get_object_key_chunk(assoc_array_ptr_to_leaf(ptr), in assoc_array_insert_into_terminal_node()
824 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_mid_shortcut()
827 edit->set[0].ptr = &node->slots[shortcut->parent_slot]; in assoc_array_insert_mid_shortcut()
917 edit->set[1].ptr = &side->back_pointer; in assoc_array_insert_mid_shortcut()
930 edit->set[1].ptr = &side->back_pointer; in assoc_array_insert_mid_shortcut()
1086 struct assoc_array_ptr *ptr; in assoc_array_delete() local
1108 ptr = node->slots[slot]; in assoc_array_delete()
1109 if (ptr && in assoc_array_delete()
1110 assoc_array_ptr_is_leaf(ptr) && in assoc_array_delete()
1111 ops->compare_object(assoc_array_ptr_to_leaf(ptr), in assoc_array_delete()
1131 edit->set[0].ptr = &node->slots[slot]; in assoc_array_delete()
1139 edit->set[1].ptr = &array->root; in assoc_array_delete()
1159 struct assoc_array_ptr *ptr; in assoc_array_delete() local
1167 ptr = node->slots[i]; in assoc_array_delete()
1168 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_delete()
1184 ptr = parent->back_pointer; in assoc_array_delete()
1185 if (!ptr) in assoc_array_delete()
1187 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_delete()
1188 struct assoc_array_shortcut *s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_delete()
1189 ptr = s->back_pointer; in assoc_array_delete()
1190 if (!ptr) in assoc_array_delete()
1194 grandparent = assoc_array_ptr_to_node(ptr); in assoc_array_delete()
1230 edit->set[1].ptr = &array->root; in assoc_array_delete()
1236 edit->set[1].ptr = &p->slots[node->parent_slot]; in assoc_array_delete()
1240 edit->set[1].ptr = &s->next_node; in assoc_array_delete()
1289 edit->set[1].ptr = &array->root; in assoc_array_clear()
1349 struct assoc_array_ptr *ptr; in assoc_array_apply_edit() local
1370 if (edit->set[i].ptr) in assoc_array_apply_edit()
1371 *edit->set[i].ptr = edit->set[i].to; in assoc_array_apply_edit()
1380 ptr = node->back_pointer; in assoc_array_apply_edit()
1381 if (!ptr) in assoc_array_apply_edit()
1383 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_apply_edit()
1384 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_apply_edit()
1385 ptr = shortcut->back_pointer; in assoc_array_apply_edit()
1386 if (!ptr) in assoc_array_apply_edit()
1389 BUG_ON(!assoc_array_ptr_is_node(ptr)); in assoc_array_apply_edit()
1390 node = assoc_array_ptr_to_node(ptr); in assoc_array_apply_edit()
1411 struct assoc_array_ptr *ptr; in assoc_array_cancel_edit() local
1418 ptr = edit->new_meta[i]; in assoc_array_cancel_edit()
1419 if (ptr) { in assoc_array_cancel_edit()
1420 if (assoc_array_ptr_is_node(ptr)) in assoc_array_cancel_edit()
1421 kfree(assoc_array_ptr_to_node(ptr)); in assoc_array_cancel_edit()
1423 kfree(assoc_array_ptr_to_shortcut(ptr)); in assoc_array_cancel_edit()
1461 struct assoc_array_ptr *cursor, *ptr; in assoc_array_gc() local
1478 edit->set[0].ptr = &array->root; in assoc_array_gc()
1521 ptr = node->slots[slot]; in assoc_array_gc()
1522 if (!ptr) in assoc_array_gc()
1525 if (assoc_array_ptr_is_leaf(ptr)) { in assoc_array_gc()
1526 if (iterator(assoc_array_ptr_to_leaf(ptr), in assoc_array_gc()
1531 new_n->slots[slot] = ptr; in assoc_array_gc()
1536 cursor = ptr; in assoc_array_gc()
1549 ptr = new_n->slots[slot]; in assoc_array_gc()
1550 if (!ptr) in assoc_array_gc()
1552 else if (assoc_array_ptr_is_leaf(ptr)) in assoc_array_gc()
1564 ptr = new_n->slots[slot]; in assoc_array_gc()
1565 if (!ptr || assoc_array_ptr_is_leaf(ptr)) in assoc_array_gc()
1569 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1570 s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1571 ptr = s->next_node; in assoc_array_gc()
1574 child = assoc_array_ptr_to_node(ptr); in assoc_array_gc()
1623 if ((ptr = new_n->slots[slot])) in assoc_array_gc()
1626 if (assoc_array_ptr_is_meta(ptr) && in assoc_array_gc()
1627 assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1629 new_s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1636 new_root = ptr; in assoc_array_gc()
1653 new_root = ptr; in assoc_array_gc()
1661 new_n->slots[slot] = ptr; in assoc_array_gc()
1669 ptr = new_n->back_pointer; in assoc_array_gc()
1670 if (!ptr) in assoc_array_gc()
1673 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1674 new_s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1694 new_parent = ptr; in assoc_array_gc()
1699 ptr = node->back_pointer; in assoc_array_gc()
1700 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1701 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1708 cursor = ptr; in assoc_array_gc()