• Home
  • Raw
  • Download

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()
707 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
708 BUG_ON(assoc_array_ptr_is_leaf(ptr)); in assoc_array_insert_into_terminal_node()
709 if (assoc_array_ptr_is_node(ptr)) { in assoc_array_insert_into_terminal_node()
710 side = assoc_array_ptr_to_node(ptr); in assoc_array_insert_into_terminal_node()
713 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_insert_into_terminal_node()
719 ptr = node->back_pointer; in assoc_array_insert_into_terminal_node()
720 if (!ptr) in assoc_array_insert_into_terminal_node()
721 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_into_terminal_node()
722 else if (assoc_array_ptr_is_node(ptr)) in assoc_array_insert_into_terminal_node()
723 edit->set[0].ptr = &assoc_array_ptr_to_node(ptr)->slots[node->parent_slot]; in assoc_array_insert_into_terminal_node()
725 edit->set[0].ptr = &assoc_array_ptr_to_shortcut(ptr)->next_node; in assoc_array_insert_into_terminal_node()
794 ptr = node->slots[i]; in assoc_array_insert_into_terminal_node()
795 base_seg = ops->get_object_key_chunk(assoc_array_ptr_to_leaf(ptr), in assoc_array_insert_into_terminal_node()
842 edit->set[0].ptr = &edit->array->root; in assoc_array_insert_mid_shortcut()
845 edit->set[0].ptr = &node->slots[shortcut->parent_slot]; in assoc_array_insert_mid_shortcut()
935 edit->set[1].ptr = &side->back_pointer; in assoc_array_insert_mid_shortcut()
948 edit->set[1].ptr = &side->back_pointer; in assoc_array_insert_mid_shortcut()
1104 struct assoc_array_ptr *ptr; in assoc_array_delete() local
1126 ptr = node->slots[slot]; in assoc_array_delete()
1127 if (ptr && in assoc_array_delete()
1128 assoc_array_ptr_is_leaf(ptr) && in assoc_array_delete()
1129 ops->compare_object(assoc_array_ptr_to_leaf(ptr), in assoc_array_delete()
1148 edit->set[0].ptr = &node->slots[slot]; in assoc_array_delete()
1156 edit->set[1].ptr = &array->root; in assoc_array_delete()
1176 struct assoc_array_ptr *ptr; in assoc_array_delete() local
1184 ptr = node->slots[i]; in assoc_array_delete()
1185 if (assoc_array_ptr_is_meta(ptr)) { in assoc_array_delete()
1201 ptr = parent->back_pointer; in assoc_array_delete()
1202 if (!ptr) in assoc_array_delete()
1204 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_delete()
1205 struct assoc_array_shortcut *s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_delete()
1206 ptr = s->back_pointer; in assoc_array_delete()
1207 if (!ptr) in assoc_array_delete()
1211 grandparent = assoc_array_ptr_to_node(ptr); in assoc_array_delete()
1247 edit->set[1].ptr = &array->root; in assoc_array_delete()
1253 edit->set[1].ptr = &p->slots[node->parent_slot]; in assoc_array_delete()
1257 edit->set[1].ptr = &s->next_node; in assoc_array_delete()
1306 edit->set[1].ptr = &array->root; in assoc_array_clear()
1366 struct assoc_array_ptr *ptr; in assoc_array_apply_edit() local
1387 if (edit->set[i].ptr) in assoc_array_apply_edit()
1388 *edit->set[i].ptr = edit->set[i].to; in assoc_array_apply_edit()
1397 ptr = node->back_pointer; in assoc_array_apply_edit()
1398 if (!ptr) in assoc_array_apply_edit()
1400 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_apply_edit()
1401 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_apply_edit()
1402 ptr = shortcut->back_pointer; in assoc_array_apply_edit()
1403 if (!ptr) in assoc_array_apply_edit()
1406 BUG_ON(!assoc_array_ptr_is_node(ptr)); in assoc_array_apply_edit()
1407 node = assoc_array_ptr_to_node(ptr); in assoc_array_apply_edit()
1428 struct assoc_array_ptr *ptr; in assoc_array_cancel_edit() local
1435 ptr = edit->new_meta[i]; in assoc_array_cancel_edit()
1436 if (ptr) { in assoc_array_cancel_edit()
1437 if (assoc_array_ptr_is_node(ptr)) in assoc_array_cancel_edit()
1438 kfree(assoc_array_ptr_to_node(ptr)); in assoc_array_cancel_edit()
1440 kfree(assoc_array_ptr_to_shortcut(ptr)); in assoc_array_cancel_edit()
1478 struct assoc_array_ptr *cursor, *ptr; in assoc_array_gc() local
1494 edit->set[0].ptr = &array->root; in assoc_array_gc()
1538 ptr = node->slots[slot]; in assoc_array_gc()
1539 if (!ptr) in assoc_array_gc()
1542 if (assoc_array_ptr_is_leaf(ptr)) { in assoc_array_gc()
1543 if (iterator(assoc_array_ptr_to_leaf(ptr), in assoc_array_gc()
1548 new_n->slots[slot] = ptr; in assoc_array_gc()
1553 cursor = ptr; in assoc_array_gc()
1565 ptr = new_n->slots[slot]; in assoc_array_gc()
1566 if (!ptr) in assoc_array_gc()
1568 else if (assoc_array_ptr_is_leaf(ptr)) in assoc_array_gc()
1579 ptr = new_n->slots[slot]; in assoc_array_gc()
1580 if (!ptr || assoc_array_ptr_is_leaf(ptr)) in assoc_array_gc()
1584 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1585 s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1586 ptr = s->next_node; in assoc_array_gc()
1589 child = assoc_array_ptr_to_node(ptr); in assoc_array_gc()
1633 if ((ptr = new_n->slots[slot])) in assoc_array_gc()
1636 if (assoc_array_ptr_is_meta(ptr) && in assoc_array_gc()
1637 assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1639 new_s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1646 new_root = ptr; in assoc_array_gc()
1663 new_root = ptr; in assoc_array_gc()
1671 new_n->slots[slot] = ptr; in assoc_array_gc()
1679 ptr = new_n->back_pointer; in assoc_array_gc()
1680 if (!ptr) in assoc_array_gc()
1683 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1684 new_s = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1704 new_parent = ptr; in assoc_array_gc()
1709 ptr = node->back_pointer; in assoc_array_gc()
1710 if (assoc_array_ptr_is_shortcut(ptr)) { in assoc_array_gc()
1711 shortcut = assoc_array_ptr_to_shortcut(ptr); in assoc_array_gc()
1718 cursor = ptr; in assoc_array_gc()