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_advance()
163 xas_move_index(xas, xas->xa_offset); in xas_advance()
212 xas->xa_offset = offset; in xas_descend()
382 node->offset = xas->xa_offset; in xas_alloc()
493 xas->xa_offset = node->offset; in xas_delete_node()
502 parent->slots[xas->xa_offset] = NULL; in xas_delete_node()
662 unsigned int offset = xas->xa_offset; in xas_create()
688 slot = &node->slots[xas->xa_offset]; in xas_create()
711 xas->xa_offset |= sibs; in xas_create_range()
728 xas->xa_offset = node->offset - 1; in xas_create_range()
800 offset = xas->xa_offset; in xas_store()
801 max = xas->xa_offset + xas->xa_sibs; in xas_store()
829 entry = xa_mk_sibling(xas->xa_offset); in xas_store()
862 return node_get_mark(xas->xa_node, xas->xa_offset, mark); in xas_get_mark()
878 unsigned int offset = xas->xa_offset; in xas_set_mark()
907 unsigned int offset = xas->xa_offset; in xas_clear_mark()
1064 marks = node_get_marks(node, xas->xa_offset); in xas_split()
1066 offset = xas->xa_offset + sibs; in xas_split()
1095 } while (offset-- > xas->xa_offset); in xas_split()
1127 unsigned long offset = xas->xa_offset; in xas_pause()
1132 xas->xa_index += (offset - xas->xa_offset) << node->shift; in xas_pause()
1159 if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) in __xas_prev()
1160 xas->xa_offset--; in __xas_prev()
1162 while (xas->xa_offset == 255) { in __xas_prev()
1163 xas->xa_offset = xas->xa_node->offset - 1; in __xas_prev()
1170 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_prev()
1198 if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) in __xas_next()
1199 xas->xa_offset++; in __xas_next()
1201 while (xas->xa_offset == XA_CHUNK_SIZE) { in __xas_next()
1202 xas->xa_offset = xas->xa_node->offset + 1; in __xas_next()
1209 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_next()
1252 xas->xa_offset != (xas->xa_index & XA_CHUNK_MASK)) { in xas_find()
1253 xas->xa_offset = ((xas->xa_index - 1) & XA_CHUNK_MASK) + 1; in xas_find()
1259 if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { in xas_find()
1260 xas->xa_offset = xas->xa_node->offset + 1; in xas_find()
1265 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find()
1268 xas->xa_offset = 0; in xas_find()
1331 xas->xa_offset = xas->xa_index >> xas->xa_node->shift; in xas_find_marked()
1335 if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { in xas_find_marked()
1336 xas->xa_offset = xas->xa_node->offset + 1; in xas_find_marked()
1345 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked()
1347 xas->xa_offset = xa_to_sibling(entry); in xas_find_marked()
1348 xas_move_index(xas, xas->xa_offset); in xas_find_marked()
1353 if (offset > xas->xa_offset) { in xas_find_marked()
1359 xas->xa_offset = offset; in xas_find_marked()
1364 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked()
1419 if ((xas->xa_offset & xas->xa_sibs) == xas->xa_sibs) in xas_find_conflict()
1421 } else if (xas->xa_offset == XA_CHUNK_MASK) { in xas_find_conflict()
1422 xas->xa_offset = xas->xa_node->offset; in xas_find_conflict()
1428 curr = xa_entry_locked(xas->xa, xas->xa_node, ++xas->xa_offset); in xas_find_conflict()
1433 xas->xa_offset = 0; in xas_find_conflict()
1439 xas->xa_offset -= xas->xa_sibs; in xas_find_conflict()
1773 unsigned int slot = xas.xa_offset + (1 << order); in xa_get_order()
2039 ((unsigned long)xas->xa_offset << node->shift); in xas_sibling()
2184 .xa_offset = node->offset, in xa_delete_node()