Lines Matching refs:cur

81 #define XFS_BTREE_STATS_INC(cur, stat)	\
82 XFS_STATS_INC_OFF((cur)->bc_mp, \
83 (cur)->bc_ops->statoff + __XBTS_ ## stat)
84 #define XFS_BTREE_STATS_ADD(cur, stat, val) \
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 void (*update_lastrec)(struct xfs_btree_cur *cur,
164 int (*get_minrecs)(struct xfs_btree_cur *cur, int level);
165 int (*get_maxrecs)(struct xfs_btree_cur *cur, int level);
168 int (*get_dmaxrecs)(struct xfs_btree_cur *cur, int level);
173 void (*init_rec_from_cur)(struct xfs_btree_cur *cur,
175 void (*init_ptr_from_cur)(struct xfs_btree_cur *cur,
181 int64_t (*key_diff)(struct xfs_btree_cur *cur,
190 int64_t (*diff_two_keys)(struct xfs_btree_cur *cur,
198 int (*keys_inorder)(struct xfs_btree_cur *cur,
203 int (*recs_inorder)(struct xfs_btree_cur *cur,
218 enum xbtree_key_contig (*keys_contiguous)(struct xfs_btree_cur *cur,
342 xfs_failaddr_t __xfs_btree_check_block(struct xfs_btree_cur *cur,
344 int __xfs_btree_check_ptr(struct xfs_btree_cur *cur,
352 struct xfs_btree_cur *cur, /* btree cursor */
362 struct xfs_btree_cur *cur, /* btree cursor */
371 struct xfs_btree_cur *cur, /* input cursor */
407 int xfs_btree_change_owner(struct xfs_btree_cur *cur, uint64_t new_owner,
480 typedef int (*xfs_btree_query_range_fn)(struct xfs_btree_cur *cur,
483 int xfs_btree_query_range(struct xfs_btree_cur *cur,
487 int xfs_btree_query_all(struct xfs_btree_cur *cur, xfs_btree_query_range_fn fn,
490 typedef int (*xfs_btree_visit_blocks_fn)(struct xfs_btree_cur *cur, int level,
499 int xfs_btree_visit_blocks(struct xfs_btree_cur *cur,
502 int xfs_btree_count_blocks(struct xfs_btree_cur *cur, xfs_extlen_t *blocks);
504 union xfs_btree_rec *xfs_btree_rec_addr(struct xfs_btree_cur *cur, int n,
506 union xfs_btree_key *xfs_btree_key_addr(struct xfs_btree_cur *cur, int n,
508 union xfs_btree_key *xfs_btree_high_key_addr(struct xfs_btree_cur *cur, int n,
510 union xfs_btree_ptr *xfs_btree_ptr_addr(struct xfs_btree_cur *cur, int n,
512 int xfs_btree_lookup_get_block(struct xfs_btree_cur *cur, int level,
514 struct xfs_btree_block *xfs_btree_get_block(struct xfs_btree_cur *cur,
516 bool xfs_btree_ptr_is_null(struct xfs_btree_cur *cur,
518 int64_t xfs_btree_diff_two_ptrs(struct xfs_btree_cur *cur,
521 void xfs_btree_get_sibling(struct xfs_btree_cur *cur,
524 void xfs_btree_get_keys(struct xfs_btree_cur *cur,
526 union xfs_btree_key *xfs_btree_high_key_from_key(struct xfs_btree_cur *cur,
528 typedef bool (*xfs_btree_key_gap_fn)(struct xfs_btree_cur *cur,
532 int xfs_btree_has_records(struct xfs_btree_cur *cur,
538 bool xfs_btree_has_more_records(struct xfs_btree_cur *cur);
539 struct xfs_ifork *xfs_btree_ifork_ptr(struct xfs_btree_cur *cur);
544 struct xfs_btree_cur *cur,
548 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) < 0;
553 struct xfs_btree_cur *cur,
557 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) > 0;
562 struct xfs_btree_cur *cur,
566 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) == 0;
571 struct xfs_btree_cur *cur,
575 return !xfs_btree_keycmp_gt(cur, key1, key2);
580 struct xfs_btree_cur *cur,
584 return !xfs_btree_keycmp_lt(cur, key1, key2);
589 struct xfs_btree_cur *cur,
593 return !xfs_btree_keycmp_eq(cur, key1, key2);
599 struct xfs_btree_cur *cur,
604 return cur->bc_ops->diff_two_keys(cur, key1, key2, mask) < 0;
609 struct xfs_btree_cur *cur,
614 return cur->bc_ops->diff_two_keys(cur, key1, key2, mask) > 0;
619 struct xfs_btree_cur *cur,
624 return !xfs_btree_masked_keycmp_lt(cur, key1, key2, mask);
630 struct xfs_btree_cur *cur,
636 block = xfs_btree_get_block(cur, level, &bp);
638 if (cur->bc_ops->ptr_len == XFS_BTREE_LONG_PTR_LEN)
643 void xfs_btree_set_ptr_null(struct xfs_btree_cur *cur,
645 int xfs_btree_get_buf_block(struct xfs_btree_cur *cur,
648 int xfs_btree_read_buf_block(struct xfs_btree_cur *cur,
651 void xfs_btree_set_sibling(struct xfs_btree_cur *cur,
654 void xfs_btree_init_block_cur(struct xfs_btree_cur *cur,
656 void xfs_btree_copy_ptrs(struct xfs_btree_cur *cur,
659 void xfs_btree_copy_keys(struct xfs_btree_cur *cur,
662 void xfs_btree_init_ptr_from_cur(struct xfs_btree_cur *cur,
673 struct xfs_btree_cur *cur;
679 cur = kmem_cache_zalloc(cache,
681 cur->bc_ops = ops;
682 cur->bc_tp = tp;
683 cur->bc_mp = mp;
684 cur->bc_maxlevels = maxlevels;
685 cur->bc_cache = cache;
687 return cur;
693 int xfs_btree_goto_left_edge(struct xfs_btree_cur *cur);
698 const struct xfs_btree_cur *cur,
701 return cur->bc_ops->type == XFS_BTREE_TYPE_INODE &&
702 level == cur->bc_nlevels - 1;