Lines Matching refs:xa_offset

129 	unsigned int limit = xas->xa_offset + xas->xa_sibs + 1;  in xas_squash_marks()
136 if (find_next_bit(marks, limit, xas->xa_offset + 1) == limit) in xas_squash_marks()
138 __set_bit(xas->xa_offset, marks); in xas_squash_marks()
139 bitmap_clear(marks, xas->xa_offset + 1, xas->xa_sibs); in xas_squash_marks()
151 xas->xa_offset = get_offset(xas->xa_index, xas->xa_node); in xas_set_offset()
164 xas->xa_offset++; in xas_next_offset()
165 xas_move_index(xas, xas->xa_offset); in xas_next_offset()
216 xas->xa_offset = offset; in xas_descend()
383 node->offset = xas->xa_offset; in xas_alloc()
494 xas->xa_offset = node->offset; in xas_delete_node()
503 parent->slots[xas->xa_offset] = NULL; in xas_delete_node()
663 unsigned int offset = xas->xa_offset; in xas_create()
689 slot = &node->slots[xas->xa_offset]; in xas_create()
712 xas->xa_offset |= sibs; in xas_create_range()
729 xas->xa_offset = node->offset - 1; in xas_create_range()
801 offset = xas->xa_offset; in xas_store()
802 max = xas->xa_offset + xas->xa_sibs; in xas_store()
830 entry = xa_mk_sibling(xas->xa_offset); in xas_store()
863 return node_get_mark(xas->xa_node, xas->xa_offset, mark); in xas_get_mark()
879 unsigned int offset = xas->xa_offset; in xas_set_mark()
908 unsigned int offset = xas->xa_offset; in xas_clear_mark()
1066 marks = node_get_marks(node, xas->xa_offset); in xas_split()
1068 offset = xas->xa_offset + sibs; in xas_split()
1097 } while (offset-- > xas->xa_offset); in xas_split()
1129 unsigned long offset = xas->xa_offset; in xas_pause()
1134 xas->xa_index += (offset - xas->xa_offset) << node->shift; in xas_pause()
1161 if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) in __xas_prev()
1162 xas->xa_offset--; in __xas_prev()
1164 while (xas->xa_offset == 255) { in __xas_prev()
1165 xas->xa_offset = xas->xa_node->offset - 1; in __xas_prev()
1172 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_prev()
1200 if (xas->xa_offset != get_offset(xas->xa_index, xas->xa_node)) in __xas_next()
1201 xas->xa_offset++; in __xas_next()
1203 while (xas->xa_offset == XA_CHUNK_SIZE) { in __xas_next()
1204 xas->xa_offset = xas->xa_node->offset + 1; in __xas_next()
1211 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_next()
1254 xas->xa_offset != (xas->xa_index & XA_CHUNK_MASK)) { in xas_find()
1255 xas->xa_offset = ((xas->xa_index - 1) & XA_CHUNK_MASK) + 1; in xas_find()
1261 if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { in xas_find()
1262 xas->xa_offset = xas->xa_node->offset + 1; in xas_find()
1267 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find()
1270 xas->xa_offset = 0; in xas_find()
1333 xas->xa_offset = xas->xa_index >> xas->xa_node->shift; in xas_find_marked()
1337 if (unlikely(xas->xa_offset == XA_CHUNK_SIZE)) { in xas_find_marked()
1338 xas->xa_offset = xas->xa_node->offset + 1; in xas_find_marked()
1347 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked()
1349 xas->xa_offset = xa_to_sibling(entry); in xas_find_marked()
1350 xas_move_index(xas, xas->xa_offset); in xas_find_marked()
1355 if (offset > xas->xa_offset) { in xas_find_marked()
1361 xas->xa_offset = offset; in xas_find_marked()
1366 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked()
1421 if ((xas->xa_offset & xas->xa_sibs) == xas->xa_sibs) in xas_find_conflict()
1423 } else if (xas->xa_offset == XA_CHUNK_MASK) { in xas_find_conflict()
1424 xas->xa_offset = xas->xa_node->offset; in xas_find_conflict()
1430 curr = xa_entry_locked(xas->xa, xas->xa_node, ++xas->xa_offset); in xas_find_conflict()
1435 xas->xa_offset = 0; in xas_find_conflict()
1441 xas->xa_offset -= xas->xa_sibs; in xas_find_conflict()
1775 unsigned int slot = xas.xa_offset + (1 << order); in xa_get_order()
2047 ((unsigned long)xas->xa_offset << node->shift); in xas_sibling()
2192 .xa_offset = node->offset, in xa_delete_node()