Lines Matching refs:xa_offset
127 unsigned int limit = xas->xa_offset + xas->xa_sibs + 1; in xas_squash_marks()
134 if (find_next_bit(marks, limit, xas->xa_offset + 1) == limit) in xas_squash_marks()
136 __set_bit(xas->xa_offset, marks); in xas_squash_marks()
137 bitmap_clear(marks, xas->xa_offset + 1, xas->xa_sibs); in xas_squash_marks()
149 xas->xa_offset = get_offset(xas->xa_index, xas->xa_node); in xas_set_offset()
162 xas->xa_offset++; in xas_next_offset()
163 xas_move_index(xas, xas->xa_offset); in xas_next_offset()
214 xas->xa_offset = offset; in xas_descend()
385 node->offset = xas->xa_offset; in xas_alloc()
496 xas->xa_offset = node->offset; in xas_delete_node()
505 parent->slots[xas->xa_offset] = NULL; in xas_delete_node()
665 unsigned int offset = xas->xa_offset; in xas_create()
691 slot = &node->slots[xas->xa_offset]; in xas_create()
714 xas->xa_offset |= sibs; in xas_create_range()
731 xas->xa_offset = node->offset - 1; in xas_create_range()
803 offset = xas->xa_offset; in xas_store()
804 max = xas->xa_offset + xas->xa_sibs; in xas_store()
832 entry = xa_mk_sibling(xas->xa_offset); in xas_store()
865 return node_get_mark(xas->xa_node, xas->xa_offset, mark); in xas_get_mark()
881 unsigned int offset = xas->xa_offset; in xas_set_mark()
910 unsigned int offset = xas->xa_offset; in xas_clear_mark()
1068 marks = node_get_marks(node, xas->xa_offset); in xas_split()
1070 offset = xas->xa_offset + sibs; in xas_split()
1099 } while (offset-- > xas->xa_offset); in xas_split()
1131 unsigned long offset = xas->xa_offset; in xas_pause()
1136 xas->xa_index += (offset - xas->xa_offset) << node->shift; in xas_pause()
1163 if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) in __xas_prev()
1164 xas->xa_offset--; in __xas_prev()
1166 while (xas->xa_offset == 255) { in __xas_prev()
1167 xas->xa_offset = xas->xa_node->offset - 1; in __xas_prev()
1174 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_prev()
1202 if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) in __xas_next()
1203 xas->xa_offset++; in __xas_next()
1205 while (xas->xa_offset == XA_CHUNK_SIZE) { in __xas_next()
1206 xas->xa_offset = xas->xa_node->offset + 1; in __xas_next()
1213 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_next()
1256 xas->xa_offset != (xas->xa_index & XA_CHUNK_MASK)) { in xas_find()
1257 xas->xa_offset = ((xas->xa_index - 1) & XA_CHUNK_MASK) + 1; in xas_find()
1263 if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { in xas_find()
1264 xas->xa_offset = xas->xa_node->offset + 1; in xas_find()
1269 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find()
1272 xas->xa_offset = 0; in xas_find()
1335 xas->xa_offset = xas->xa_index >> xas->xa_node->shift; in xas_find_marked()
1339 if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { in xas_find_marked()
1340 xas->xa_offset = xas->xa_node->offset + 1; in xas_find_marked()
1349 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked()
1351 xas->xa_offset = xa_to_sibling(entry); in xas_find_marked()
1352 xas_move_index(xas, xas->xa_offset); in xas_find_marked()
1357 if (offset > xas->xa_offset) { in xas_find_marked()
1363 xas->xa_offset = offset; in xas_find_marked()
1368 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked()
1423 if ((xas->xa_offset & xas->xa_sibs) == xas->xa_sibs) in xas_find_conflict()
1425 } else if (xas->xa_offset == XA_CHUNK_MASK) { in xas_find_conflict()
1426 xas->xa_offset = xas->xa_node->offset; in xas_find_conflict()
1432 curr = xa_entry_locked(xas->xa, xas->xa_node, ++xas->xa_offset); in xas_find_conflict()
1437 xas->xa_offset = 0; in xas_find_conflict()
1443 xas->xa_offset -= xas->xa_sibs; in xas_find_conflict()
1777 unsigned int slot = xas.xa_offset + (1 << order); in xa_get_order()
2043 ((unsigned long)xas->xa_offset << node->shift); in xas_sibling()
2188 .xa_offset = node->offset, in xa_delete_node()