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,
178 int (*cmp_key_with_cur)(struct xfs_btree_cur *cur,
187 int (*cmp_two_keys)(struct xfs_btree_cur *cur,
195 int (*keys_inorder)(struct xfs_btree_cur *cur,
200 int (*recs_inorder)(struct xfs_btree_cur *cur,
215 enum xbtree_key_contig (*keys_contiguous)(struct xfs_btree_cur *cur,
233 struct xfs_btree_block *(*broot_realloc)(struct xfs_btree_cur *cur,
346 xfs_failaddr_t __xfs_btree_check_block(struct xfs_btree_cur *cur,
348 int __xfs_btree_check_ptr(struct xfs_btree_cur *cur,
356 struct xfs_btree_cur *cur, /* btree cursor */
366 struct xfs_btree_cur *cur, /* btree cursor */
375 struct xfs_btree_cur *cur, /* input cursor */
411 int xfs_btree_change_owner(struct xfs_btree_cur *cur, uint64_t new_owner,
484 typedef int (*xfs_btree_query_range_fn)(struct xfs_btree_cur *cur,
487 int xfs_btree_query_range(struct xfs_btree_cur *cur,
491 int xfs_btree_query_all(struct xfs_btree_cur *cur, xfs_btree_query_range_fn fn,
494 typedef int (*xfs_btree_visit_blocks_fn)(struct xfs_btree_cur *cur, int level,
503 int xfs_btree_visit_blocks(struct xfs_btree_cur *cur,
506 int xfs_btree_count_blocks(struct xfs_btree_cur *cur, xfs_filblks_t *blocks);
508 union xfs_btree_rec *xfs_btree_rec_addr(struct xfs_btree_cur *cur, int n,
510 union xfs_btree_key *xfs_btree_key_addr(struct xfs_btree_cur *cur, int n,
512 union xfs_btree_key *xfs_btree_high_key_addr(struct xfs_btree_cur *cur, int n,
514 union xfs_btree_ptr *xfs_btree_ptr_addr(struct xfs_btree_cur *cur, int n,
516 int xfs_btree_lookup_get_block(struct xfs_btree_cur *cur, int level,
518 struct xfs_btree_block *xfs_btree_get_block(struct xfs_btree_cur *cur,
520 bool xfs_btree_ptr_is_null(struct xfs_btree_cur *cur,
522 int xfs_btree_cmp_two_ptrs(struct xfs_btree_cur *cur,
525 void xfs_btree_get_sibling(struct xfs_btree_cur *cur,
528 void xfs_btree_get_keys(struct xfs_btree_cur *cur,
530 union xfs_btree_key *xfs_btree_high_key_from_key(struct xfs_btree_cur *cur,
532 typedef bool (*xfs_btree_key_gap_fn)(struct xfs_btree_cur *cur,
536 int xfs_btree_has_records(struct xfs_btree_cur *cur,
542 bool xfs_btree_has_more_records(struct xfs_btree_cur *cur);
543 struct xfs_ifork *xfs_btree_ifork_ptr(struct xfs_btree_cur *cur);
548 struct xfs_btree_cur *cur, in xfs_btree_keycmp_lt() argument
552 return cur->bc_ops->cmp_two_keys(cur, key1, key2, NULL) < 0; in xfs_btree_keycmp_lt()
557 struct xfs_btree_cur *cur, in xfs_btree_keycmp_gt() argument
561 return cur->bc_ops->cmp_two_keys(cur, key1, key2, NULL) > 0; in xfs_btree_keycmp_gt()
566 struct xfs_btree_cur *cur, in xfs_btree_keycmp_eq() argument
570 return cur->bc_ops->cmp_two_keys(cur, key1, key2, NULL) == 0; in xfs_btree_keycmp_eq()
575 struct xfs_btree_cur *cur, in xfs_btree_keycmp_le() argument
579 return !xfs_btree_keycmp_gt(cur, key1, key2); in xfs_btree_keycmp_le()
584 struct xfs_btree_cur *cur, in xfs_btree_keycmp_ge() argument
588 return !xfs_btree_keycmp_lt(cur, key1, key2); in xfs_btree_keycmp_ge()
593 struct xfs_btree_cur *cur, in xfs_btree_keycmp_ne() argument
597 return !xfs_btree_keycmp_eq(cur, key1, key2); in xfs_btree_keycmp_ne()
603 struct xfs_btree_cur *cur, in xfs_btree_masked_keycmp_lt() argument
608 return cur->bc_ops->cmp_two_keys(cur, key1, key2, mask) < 0; in xfs_btree_masked_keycmp_lt()
613 struct xfs_btree_cur *cur, in xfs_btree_masked_keycmp_gt() argument
618 return cur->bc_ops->cmp_two_keys(cur, key1, key2, mask) > 0; in xfs_btree_masked_keycmp_gt()
623 struct xfs_btree_cur *cur, in xfs_btree_masked_keycmp_ge() argument
628 return !xfs_btree_masked_keycmp_lt(cur, key1, key2, mask); in xfs_btree_masked_keycmp_ge()
634 struct xfs_btree_cur *cur, in xfs_btree_islastblock() argument
640 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_islastblock()
642 if (cur->bc_ops->ptr_len == XFS_BTREE_LONG_PTR_LEN) in xfs_btree_islastblock()
647 void xfs_btree_set_ptr_null(struct xfs_btree_cur *cur,
649 int xfs_btree_get_buf_block(struct xfs_btree_cur *cur,
652 int xfs_btree_read_buf_block(struct xfs_btree_cur *cur,
655 void xfs_btree_set_sibling(struct xfs_btree_cur *cur,
658 void xfs_btree_init_block_cur(struct xfs_btree_cur *cur,
660 void xfs_btree_copy_ptrs(struct xfs_btree_cur *cur,
663 void xfs_btree_copy_keys(struct xfs_btree_cur *cur,
666 void xfs_btree_init_ptr_from_cur(struct xfs_btree_cur *cur,
677 struct xfs_btree_cur *cur; in xfs_btree_alloc_cursor() local
683 cur = kmem_cache_zalloc(cache, in xfs_btree_alloc_cursor()
685 cur->bc_ops = ops; in xfs_btree_alloc_cursor()
686 cur->bc_tp = tp; in xfs_btree_alloc_cursor()
687 cur->bc_mp = mp; in xfs_btree_alloc_cursor()
688 cur->bc_maxlevels = maxlevels; in xfs_btree_alloc_cursor()
689 cur->bc_cache = cache; in xfs_btree_alloc_cursor()
691 return cur; in xfs_btree_alloc_cursor()
697 int xfs_btree_goto_left_edge(struct xfs_btree_cur *cur);
702 const struct xfs_btree_cur *cur, in xfs_btree_at_iroot() argument
705 return cur->bc_ops->type == XFS_BTREE_TYPE_INODE && in xfs_btree_at_iroot()
706 level == cur->bc_nlevels - 1; in xfs_btree_at_iroot()
709 int xfs_btree_alloc_metafile_block(struct xfs_btree_cur *cur,
712 int xfs_btree_free_metafile_block(struct xfs_btree_cur *cur,