Lines Matching +full:non +full:- +full:overlapping
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc.
28 * The in-core btree key. Overlapping btrees actually store two keys
52 * This nonsense is to make -wlint happy.
74 #define XFS_BB_ALL_BITS ((1u << XFS_BB_NUM_BITS) - 1)
76 #define XFS_BB_ALL_BITS_CRC ((1u << XFS_BB_NUM_BITS_CRC) - 1)
82 XFS_STATS_INC_OFF((cur)->bc_mp, \
83 (cur)->bc_ops->statoff + __XBTS_ ## stat)
85 XFS_STATS_ADD_OFF((cur)->bc_mp, \
86 (cur)->bc_ops->statoff + __XBTS_ ## stat, val)
95 * Decide if these two numeric btree key fields are contiguous, overlapping,
121 /* Type of btree - AG-rooted or inode-rooted */
179 * Difference between key2 and key1 -- positive if key1 > key2,
181 * is non NULL, each key field to be used in the comparison must
209 * If the @mask parameter is non NULL, each key field to be used in the
219 #define XFS_BTGEO_OVERLAPPING (1U << 0) /* overlapping intervals */
238 #define XFS_BTCUR_LEFTRA (1 << 0) /* left sibling has been read-ahead */
239 #define XFS_BTCUR_RIGHTRA (1 << 1) /* right sibling has been read-ahead */
253 unsigned int bc_flags; /* btree features - below */
258 /* per-type information */
277 /* per-format private data */
326 #define XFS_BUF_TO_BLOCK(bp) ((struct xfs_btree_block *)((bp)->b_addr))
353 * Allocate a new one, copy the record, re-get the buffers.
415 return be16_to_cpu(block->bb_numrecs); in xfs_btree_get_numrecs()
421 block->bb_numrecs = cpu_to_be16(numrecs); in xfs_btree_set_numrecs()
426 return be16_to_cpu(block->bb_level); in xfs_btree_get_level()
461 * iterating, and non-zero to stop iterating. Any non-zero value will be
462 * passed up to the _query_range caller. The special value -ECANCELED can be
534 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) < 0; in xfs_btree_keycmp_lt()
543 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) > 0; in xfs_btree_keycmp_gt()
552 return cur->bc_ops->diff_two_keys(cur, key1, key2, NULL) == 0; in xfs_btree_keycmp_eq()
590 return cur->bc_ops->diff_two_keys(cur, key1, key2, mask) < 0; in xfs_btree_masked_keycmp_lt()
600 return cur->bc_ops->diff_two_keys(cur, key1, key2, mask) > 0; in xfs_btree_masked_keycmp_gt()
624 if (cur->bc_ops->ptr_len == XFS_BTREE_LONG_PTR_LEN) in xfs_btree_islastblock()
625 return block->bb_u.l.bb_rightsib == cpu_to_be64(NULLFSBLOCK); in xfs_btree_islastblock()
626 return block->bb_u.s.bb_rightsib == cpu_to_be32(NULLAGBLOCK); in xfs_btree_islastblock()
661 ASSERT(ops->ptr_len == XFS_BTREE_LONG_PTR_LEN || in xfs_btree_alloc_cursor()
662 ops->ptr_len == XFS_BTREE_SHORT_PTR_LEN); in xfs_btree_alloc_cursor()
664 /* BMBT allocations can come through from non-transactional context. */ in xfs_btree_alloc_cursor()
667 cur->bc_ops = ops; in xfs_btree_alloc_cursor()
668 cur->bc_tp = tp; in xfs_btree_alloc_cursor()
669 cur->bc_mp = mp; in xfs_btree_alloc_cursor()
670 cur->bc_maxlevels = maxlevels; in xfs_btree_alloc_cursor()
671 cur->bc_cache = cache; in xfs_btree_alloc_cursor()
687 return cur->bc_ops->type == XFS_BTREE_TYPE_INODE && in xfs_btree_at_iroot()
688 level == cur->bc_nlevels - 1; in xfs_btree_at_iroot()