Lines Matching refs:leaf

142 	return &cur->leaf->recs[cur->pos];  in cur_rec()
148 if (!cur->leaf) in xfs_iext_valid()
202 cur->leaf = xfs_iext_find_first_leaf(ifp); in xfs_iext_first()
212 cur->leaf = xfs_iext_find_last_leaf(ifp); in xfs_iext_last()
213 if (!cur->leaf) { in xfs_iext_last()
219 if (xfs_iext_rec_is_empty(&cur->leaf->recs[i])) in xfs_iext_last()
230 if (!cur->leaf) { in xfs_iext_next()
241 cur->leaf->next) { in xfs_iext_next()
242 cur->leaf = cur->leaf->next; in xfs_iext_next()
252 if (!cur->leaf) { in xfs_iext_prev()
268 if (ifp->if_height > 1 && cur->leaf->prev) { in xfs_iext_prev()
269 cur->leaf = cur->leaf->prev; in xfs_iext_prev()
376 struct xfs_iext_leaf *leaf, in xfs_iext_leaf_nr_entries() argument
382 if (xfs_iext_rec_is_empty(&leaf->recs[i])) in xfs_iext_leaf_nr_entries()
391 struct xfs_iext_leaf *leaf, in xfs_iext_leaf_key() argument
394 return leaf->recs[n].lo & XFS_IEXT_STARTOFF_MASK; in xfs_iext_leaf_key()
544 struct xfs_iext_leaf *leaf = cur->leaf; in xfs_iext_split_leaf() local
552 cur->leaf = new; in xfs_iext_split_leaf()
559 new->recs[i] = leaf->recs[nr_keep + i]; in xfs_iext_split_leaf()
560 xfs_iext_rec_clear(&leaf->recs[nr_keep + i]); in xfs_iext_split_leaf()
564 cur->leaf = new; in xfs_iext_split_leaf()
571 if (leaf->next) in xfs_iext_split_leaf()
572 leaf->next->prev = new; in xfs_iext_split_leaf()
573 new->next = leaf->next; in xfs_iext_split_leaf()
574 new->prev = leaf; in xfs_iext_split_leaf()
575 leaf->next = new; in xfs_iext_split_leaf()
590 cur->leaf = ifp->if_u1.if_root; in xfs_iext_alloc_root()
609 cur->leaf = new; in xfs_iext_realloc_root()
643 nr_entries = xfs_iext_leaf_nr_entries(ifp, cur->leaf, cur->pos); in xfs_iext_insert()
655 if (cur->leaf != new && cur->pos == 0 && nr_entries > 0) { in xfs_iext_insert()
656 xfs_iext_update_node(ifp, xfs_iext_leaf_key(cur->leaf, 0), in xfs_iext_insert()
657 offset, 1, cur->leaf); in xfs_iext_insert()
661 cur->leaf->recs[i] = cur->leaf->recs[i - 1]; in xfs_iext_insert()
791 struct xfs_iext_leaf *leaf, in xfs_iext_rebalance_leaf() argument
803 if (leaf->prev) { in xfs_iext_rebalance_leaf()
804 int nr_prev = xfs_iext_leaf_nr_entries(ifp, leaf->prev, 0), i; in xfs_iext_rebalance_leaf()
808 leaf->prev->recs[nr_prev + i] = leaf->recs[i]; in xfs_iext_rebalance_leaf()
810 if (cur->leaf == leaf) { in xfs_iext_rebalance_leaf()
811 cur->leaf = leaf->prev; in xfs_iext_rebalance_leaf()
818 if (leaf->next) { in xfs_iext_rebalance_leaf()
819 int nr_next = xfs_iext_leaf_nr_entries(ifp, leaf->next, 0), i; in xfs_iext_rebalance_leaf()
828 leaf->recs[nr_entries + i] = in xfs_iext_rebalance_leaf()
829 leaf->next->recs[i]; in xfs_iext_rebalance_leaf()
832 if (cur->leaf == leaf->next) { in xfs_iext_rebalance_leaf()
833 cur->leaf = leaf; in xfs_iext_rebalance_leaf()
837 offset = xfs_iext_leaf_key(leaf->next, 0); in xfs_iext_rebalance_leaf()
838 leaf = leaf->next; in xfs_iext_rebalance_leaf()
845 if (leaf->prev) in xfs_iext_rebalance_leaf()
846 leaf->prev->next = leaf->next; in xfs_iext_rebalance_leaf()
847 if (leaf->next) in xfs_iext_rebalance_leaf()
848 leaf->next->prev = leaf->prev; in xfs_iext_rebalance_leaf()
849 xfs_iext_remove_node(ifp, offset, leaf); in xfs_iext_rebalance_leaf()
868 struct xfs_iext_leaf *leaf = cur->leaf; in xfs_iext_remove() local
869 xfs_fileoff_t offset = xfs_iext_leaf_key(leaf, 0); in xfs_iext_remove()
880 nr_entries = xfs_iext_leaf_nr_entries(ifp, leaf, cur->pos) - 1; in xfs_iext_remove()
882 leaf->recs[i] = leaf->recs[i + 1]; in xfs_iext_remove()
883 xfs_iext_rec_clear(&leaf->recs[nr_entries]); in xfs_iext_remove()
887 xfs_iext_update_node(ifp, offset, xfs_iext_leaf_key(leaf, 0), 1, in xfs_iext_remove()
888 leaf); in xfs_iext_remove()
889 offset = xfs_iext_leaf_key(leaf, 0); in xfs_iext_remove()
891 if (ifp->if_height > 1 && leaf->next) in xfs_iext_remove()
892 cur->leaf = leaf->next; in xfs_iext_remove()
894 cur->leaf = NULL; in xfs_iext_remove()
902 xfs_iext_rebalance_leaf(ifp, cur, leaf, offset, nr_entries); in xfs_iext_remove()
928 cur->leaf = xfs_iext_find_level(ifp, offset, 1); in xfs_iext_lookup_extent()
929 if (!cur->leaf) { in xfs_iext_lookup_extent()
944 if (ifp->if_height == 1 || !cur->leaf->next) in xfs_iext_lookup_extent()
946 cur->leaf = cur->leaf->next; in xfs_iext_lookup_extent()
994 new->br_startoff, 1, cur->leaf); in xfs_iext_update_extent()