Lines Matching refs:ptr

31 	const struct assoc_array_ptr *cursor, *ptr, *parent;  in assoc_array_subtree_iterate()  local
58 ptr = ACCESS_ONCE(node->slots[slot]); in assoc_array_subtree_iterate()
59 has_meta |= (unsigned long)ptr; in assoc_array_subtree_iterate()
60 if (ptr && assoc_array_ptr_is_leaf(ptr)) { in assoc_array_subtree_iterate()
68 ret = iterator(assoc_array_ptr_to_leaf(ptr), in assoc_array_subtree_iterate()
92 ptr = ACCESS_ONCE(node->slots[slot]); in assoc_array_subtree_iterate()
93 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_subtree_iterate()
94 cursor = ptr; in assoc_array_subtree_iterate()
189 struct assoc_array_ptr *cursor, *ptr; in assoc_array_walk() local
223 ptr = ACCESS_ONCE(node->slots[slot]); in assoc_array_walk()
226 slot, level, (unsigned long)ptr & 3); in assoc_array_walk()
228 if (!assoc_array_ptr_is_meta(ptr)) { in assoc_array_walk()
239 if (assoc_array_ptr_is_node(ptr)) { in assoc_array_walk()
243 cursor = ptr; in assoc_array_walk()
254 cursor = ptr; in assoc_array_walk()
325 const struct assoc_array_ptr *ptr; in assoc_array_find() local
340 ptr = ACCESS_ONCE(node->slots[slot]); in assoc_array_find()
341 if (ptr && assoc_array_ptr_is_leaf(ptr)) { in assoc_array_find()
346 leaf = assoc_array_ptr_to_leaf(ptr); in assoc_array_find()
399 struct assoc_array_ptr *ptr = node->slots[slot]; in assoc_array_destroy_subtree() local
400 if (!ptr) in assoc_array_destroy_subtree()
402 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_destroy_subtree()
404 cursor = ptr; in assoc_array_destroy_subtree()
410 ops->free_object(assoc_array_ptr_to_leaf(ptr)); in assoc_array_destroy_subtree()
481 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_in_empty_tree()
498 struct assoc_array_ptr *ptr; in assoc_array_insert_into_terminal_node() local
522 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
523 if (!ptr) { in assoc_array_insert_into_terminal_node()
527 if (assoc_array_ptr_is_leaf(ptr) && in assoc_array_insert_into_terminal_node()
528 ops->compare_object(assoc_array_ptr_to_leaf(ptr), in assoc_array_insert_into_terminal_node()
569 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
570 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_insert_into_terminal_node()
576 assoc_array_ptr_to_leaf(ptr), level); in assoc_array_insert_into_terminal_node()
697 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
698 BUG_ON(assoc_array_ptr_is_leaf(ptr)); in assoc_array_insert_into_terminal_node()
699 if (assoc_array_ptr_is_node(ptr)) { in assoc_array_insert_into_terminal_node()
700 side = assoc_array_ptr_to_node(ptr); in assoc_array_insert_into_terminal_node()
703 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_insert_into_terminal_node()
709 ptr = node->back_pointer; in assoc_array_insert_into_terminal_node()
710 if (!ptr) in assoc_array_insert_into_terminal_node()
711 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_into_terminal_node()
712 else if (assoc_array_ptr_is_node(ptr)) in assoc_array_insert_into_terminal_node()
713 edit->set[0].ptr = &assoc_array_ptr_to_node(ptr)->slots[node->parent_slot]; in assoc_array_insert_into_terminal_node()
715 edit->set[0].ptr = &assoc_array_ptr_to_shortcut(ptr)->next_node; in assoc_array_insert_into_terminal_node()
741 edit->set[0].ptr = &assoc_array_ptr_to_node(node->back_pointer)->slots[node->parent_slot]; in assoc_array_insert_into_terminal_node()
809 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
810 base_seg = ops->get_object_key_chunk(assoc_array_ptr_to_leaf(ptr), in assoc_array_insert_into_terminal_node()
857 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_mid_shortcut()
860 edit->set[0].ptr = &node->slots[shortcut->parent_slot]; in assoc_array_insert_mid_shortcut()
950 edit->set[1].ptr = &side->back_pointer; in assoc_array_insert_mid_shortcut()
963 edit->set[1].ptr = &side->back_pointer; in assoc_array_insert_mid_shortcut()
1119 struct assoc_array_ptr *ptr; in assoc_array_delete() local
1141 ptr = node->slots[slot]; in assoc_array_delete()
1142 if (ptr && in assoc_array_delete()
1143 assoc_array_ptr_is_leaf(ptr) && in assoc_array_delete()
1144 ops->compare_object(assoc_array_ptr_to_leaf(ptr), in assoc_array_delete()
1163 edit->set[0].ptr = &node->slots[slot]; in assoc_array_delete()
1171 edit->set[1].ptr = &array->root; in assoc_array_delete()
1191 struct assoc_array_ptr *ptr; in assoc_array_delete() local
1199 ptr = node->slots[i]; in assoc_array_delete()
1200 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_delete()
1216 ptr = parent->back_pointer; in assoc_array_delete()
1217 if (!ptr) in assoc_array_delete()
1219 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_delete()
1220 struct assoc_array_shortcut *s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_delete()
1221 ptr = s->back_pointer; in assoc_array_delete()
1222 if (!ptr) in assoc_array_delete()
1226 grandparent = assoc_array_ptr_to_node(ptr); in assoc_array_delete()
1262 edit->set[1].ptr = &array->root; in assoc_array_delete()
1268 edit->set[1].ptr = &p->slots[node->parent_slot]; in assoc_array_delete()
1272 edit->set[1].ptr = &s->next_node; in assoc_array_delete()
1321 edit->set[1].ptr = &array->root; in assoc_array_clear()
1381 struct assoc_array_ptr *ptr; in assoc_array_apply_edit() local
1402 if (edit->set[i].ptr) in assoc_array_apply_edit()
1403 *edit->set[i].ptr = edit->set[i].to; in assoc_array_apply_edit()
1412 ptr = node->back_pointer; in assoc_array_apply_edit()
1413 if (!ptr) in assoc_array_apply_edit()
1415 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_apply_edit()
1416 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_apply_edit()
1417 ptr = shortcut->back_pointer; in assoc_array_apply_edit()
1418 if (!ptr) in assoc_array_apply_edit()
1421 BUG_ON(!assoc_array_ptr_is_node(ptr)); in assoc_array_apply_edit()
1422 node = assoc_array_ptr_to_node(ptr); in assoc_array_apply_edit()
1443 struct assoc_array_ptr *ptr; in assoc_array_cancel_edit() local
1450 ptr = edit->new_meta[i]; in assoc_array_cancel_edit()
1451 if (ptr) { in assoc_array_cancel_edit()
1452 if (assoc_array_ptr_is_node(ptr)) in assoc_array_cancel_edit()
1453 kfree(assoc_array_ptr_to_node(ptr)); in assoc_array_cancel_edit()
1455 kfree(assoc_array_ptr_to_shortcut(ptr)); in assoc_array_cancel_edit()
1493 struct assoc_array_ptr *cursor, *ptr; in assoc_array_gc() local
1509 edit->set[0].ptr = &array->root; in assoc_array_gc()
1553 ptr = node->slots[slot]; in assoc_array_gc()
1554 if (!ptr) in assoc_array_gc()
1557 if (assoc_array_ptr_is_leaf(ptr)) { in assoc_array_gc()
1558 if (iterator(assoc_array_ptr_to_leaf(ptr), in assoc_array_gc()
1563 new_n->slots[slot] = ptr; in assoc_array_gc()
1568 cursor = ptr; in assoc_array_gc()
1580 ptr = new_n->slots[slot]; in assoc_array_gc()
1581 if (!ptr) in assoc_array_gc()
1583 else if (assoc_array_ptr_is_leaf(ptr)) in assoc_array_gc()
1594 ptr = new_n->slots[slot]; in assoc_array_gc()
1595 if (!ptr || assoc_array_ptr_is_leaf(ptr)) in assoc_array_gc()
1599 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1600 s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1601 ptr = s->next_node; in assoc_array_gc()
1604 child = assoc_array_ptr_to_node(ptr); in assoc_array_gc()
1648 if ((ptr = new_n->slots[slot])) in assoc_array_gc()
1651 if (assoc_array_ptr_is_meta(ptr) && in assoc_array_gc()
1652 assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1654 new_s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1661 new_root = ptr; in assoc_array_gc()
1678 new_root = ptr; in assoc_array_gc()
1686 new_n->slots[slot] = ptr; in assoc_array_gc()
1694 ptr = new_n->back_pointer; in assoc_array_gc()
1695 if (!ptr) in assoc_array_gc()
1698 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1699 new_s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1719 new_parent = ptr; in assoc_array_gc()
1724 ptr = node->back_pointer; in assoc_array_gc()
1725 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1726 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1733 cursor = ptr; in assoc_array_gc()