Lines Matching refs:cur
81 #define XFS_BTREE_STATS_INC(cur, stat) \ argument
82 XFS_STATS_INC_OFF((cur)->bc_mp, \
83 (cur)->bc_ops->statoff + __XBTS_ ## stat)
84 #define XFS_BTREE_STATS_ADD(cur, stat, val) \ argument
85 XFS_STATS_ADD_OFF((cur)->bc_mp, \
86 (cur)->bc_ops->statoff + __XBTS_ ## stat, val)
147 void (*set_root)(struct xfs_btree_cur *cur,
151 int (*alloc_block)(struct xfs_btree_cur *cur,
155 int (*free_block)(struct xfs_btree_cur *cur, struct xfs_buf *bp);
158 int (*get_minrecs)(struct xfs_btree_cur *cur, int level);
159 int (*get_maxrecs)(struct xfs_btree_cur *cur, int level);
162 int (*get_dmaxrecs)(struct xfs_btree_cur *cur, int level);
167 void (*init_rec_from_cur)(struct xfs_btree_cur *cur,
169 void (*init_ptr_from_cur)(struct xfs_btree_cur *cur,
175 int64_t (*key_diff)(struct xfs_btree_cur *cur,
184 int64_t (*diff_two_keys)(struct xfs_btree_cur *cur,
192 int (*keys_inorder)(struct xfs_btree_cur *cur,
197 int (*recs_inorder)(struct xfs_btree_cur *cur,
212 enum xbtree_key_contig (*keys_contiguous)(struct xfs_btree_cur *cur,
230 struct xfs_btree_block *(*broot_realloc)(struct xfs_btree_cur *cur,
343 xfs_failaddr_t __xfs_btree_check_block(struct xfs_btree_cur *cur,
345 int __xfs_btree_check_ptr(struct xfs_btree_cur *cur,
353 struct xfs_btree_cur *cur, /* btree cursor */
363 struct xfs_btree_cur *cur, /* btree cursor */
372 struct xfs_btree_cur *cur, /* input cursor */
408 int xfs_btree_change_owner(struct xfs_btree_cur *cur, uint64_t new_owner,
481 typedef int (*xfs_btree_query_range_fn)(struct xfs_btree_cur *cur,
484 int xfs_btree_query_range(struct xfs_btree_cur *cur,
488 int xfs_btree_query_all(struct xfs_btree_cur *cur, xfs_btree_query_range_fn fn,
491 typedef int (*xfs_btree_visit_blocks_fn)(struct xfs_btree_cur *cur, int level,
500 int xfs_btree_visit_blocks(struct xfs_btree_cur *cur,
503 int xfs_btree_count_blocks(struct xfs_btree_cur *cur, xfs_filblks_t *blocks);
505 union xfs_btree_rec *xfs_btree_rec_addr(struct xfs_btree_cur *cur, int n,
507 union xfs_btree_key *xfs_btree_key_addr(struct xfs_btree_cur *cur, int n,
509 union xfs_btree_key *xfs_btree_high_key_addr(struct xfs_btree_cur *cur, int n,
511 union xfs_btree_ptr *xfs_btree_ptr_addr(struct xfs_btree_cur *cur, int n,
513 int xfs_btree_lookup_get_block(struct xfs_btree_cur *cur, int level,
515 struct xfs_btree_block *xfs_btree_get_block(struct xfs_btree_cur *cur,
517 bool xfs_btree_ptr_is_null(struct xfs_btree_cur *cur,
519 int64_t xfs_btree_diff_two_ptrs(struct xfs_btree_cur *cur,
522 void xfs_btree_get_sibling(struct xfs_btree_cur *cur,
525 void xfs_btree_get_keys(struct xfs_btree_cur *cur,
527 union xfs_btree_key *xfs_btree_high_key_from_key(struct xfs_btree_cur *cur,
529 typedef bool (*xfs_btree_key_gap_fn)(struct xfs_btree_cur *cur,
533 int xfs_btree_has_records(struct xfs_btree_cur *cur,
539 bool xfs_btree_has_more_records(struct xfs_btree_cur *cur);
540 struct xfs_ifork *xfs_btree_ifork_ptr(struct xfs_btree_cur *cur);
545 struct xfs_btree_cur *cur, in xfs_btree_keycmp_lt() argument
549 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) < 0; in xfs_btree_keycmp_lt()
554 struct xfs_btree_cur *cur, in xfs_btree_keycmp_gt() argument
558 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) > 0; in xfs_btree_keycmp_gt()
563 struct xfs_btree_cur *cur, in xfs_btree_keycmp_eq() argument
567 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) == 0; in xfs_btree_keycmp_eq()
572 struct xfs_btree_cur *cur, in xfs_btree_keycmp_le() argument
576 return !xfs_btree_keycmp_gt(cur, key1, key2); in xfs_btree_keycmp_le()
581 struct xfs_btree_cur *cur, in xfs_btree_keycmp_ge() argument
585 return !xfs_btree_keycmp_lt(cur, key1, key2); in xfs_btree_keycmp_ge()
590 struct xfs_btree_cur *cur, in xfs_btree_keycmp_ne() argument
594 return !xfs_btree_keycmp_eq(cur, key1, key2); in xfs_btree_keycmp_ne()
600 struct xfs_btree_cur *cur, in xfs_btree_masked_keycmp_lt() argument
605 return cur->bc_ops->diff_two_keys(cur, key1, key2, mask) < 0; in xfs_btree_masked_keycmp_lt()
610 struct xfs_btree_cur *cur, in xfs_btree_masked_keycmp_gt() argument
615 return cur->bc_ops->diff_two_keys(cur, key1, key2, mask) > 0; in xfs_btree_masked_keycmp_gt()
620 struct xfs_btree_cur *cur, in xfs_btree_masked_keycmp_ge() argument
625 return !xfs_btree_masked_keycmp_lt(cur, key1, key2, mask); in xfs_btree_masked_keycmp_ge()
631 struct xfs_btree_cur *cur, in xfs_btree_islastblock() argument
637 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_islastblock()
639 if (cur->bc_ops->ptr_len == XFS_BTREE_LONG_PTR_LEN) in xfs_btree_islastblock()
644 void xfs_btree_set_ptr_null(struct xfs_btree_cur *cur,
646 int xfs_btree_get_buf_block(struct xfs_btree_cur *cur,
649 int xfs_btree_read_buf_block(struct xfs_btree_cur *cur,
652 void xfs_btree_set_sibling(struct xfs_btree_cur *cur,
655 void xfs_btree_init_block_cur(struct xfs_btree_cur *cur,
657 void xfs_btree_copy_ptrs(struct xfs_btree_cur *cur,
660 void xfs_btree_copy_keys(struct xfs_btree_cur *cur,
663 void xfs_btree_init_ptr_from_cur(struct xfs_btree_cur *cur,
674 struct xfs_btree_cur *cur; in xfs_btree_alloc_cursor() local
680 cur = kmem_cache_zalloc(cache, in xfs_btree_alloc_cursor()
682 cur->bc_ops = ops; in xfs_btree_alloc_cursor()
683 cur->bc_tp = tp; in xfs_btree_alloc_cursor()
684 cur->bc_mp = mp; in xfs_btree_alloc_cursor()
685 cur->bc_maxlevels = maxlevels; in xfs_btree_alloc_cursor()
686 cur->bc_cache = cache; in xfs_btree_alloc_cursor()
688 return cur; in xfs_btree_alloc_cursor()
694 int xfs_btree_goto_left_edge(struct xfs_btree_cur *cur);
699 const struct xfs_btree_cur *cur, in xfs_btree_at_iroot() argument
702 return cur->bc_ops->type == XFS_BTREE_TYPE_INODE && in xfs_btree_at_iroot()
703 level == cur->bc_nlevels - 1; in xfs_btree_at_iroot()
706 int xfs_btree_alloc_metafile_block(struct xfs_btree_cur *cur,
709 int xfs_btree_free_metafile_block(struct xfs_btree_cur *cur,