Lines Matching defs:ptr
228 union xfs_btree_ptr *ptr,
233 if (xfs_btree_check_lptr(cur, be64_to_cpu((&ptr->l)[index]),
242 if (xfs_btree_check_sptr(cur, be32_to_cpu((&ptr->s)[index]),
418 * For each level current, re-get the buffer and copy the ptr value.
456 * Non-Leaf: | header | key 1 | key 2 | key N | ptr 1 | ptr 2 | ptr N |
483 * Non-Leaf: | header | lo1 | hi1 | lo2 | hi2 | ... | ptr 1 | ptr 2 | ... |
715 * Set the ptr value to 1, that's the first record/key.
745 * Set the ptr value to numrecs, that's the last record/key.
942 union xfs_btree_ptr *ptr,
949 error = xfs_btree_check_ptr(cur, ptr, 0, 1);
954 fsbno = be64_to_cpu(ptr->l);
957 agbno = be32_to_cpu(ptr->s);
966 * Readahead @count btree blocks at the given @ptr location.
969 * method of converting the ptr directly to a daddr available to us.
974 union xfs_btree_ptr *ptr,
979 if (xfs_btree_ptr_to_daddr(cur, ptr, &daddr))
1019 union xfs_btree_ptr *ptr)
1022 return ptr->l == cpu_to_be64(NULLFSBLOCK);
1024 return ptr->s == cpu_to_be32(NULLAGBLOCK);
1030 union xfs_btree_ptr *ptr)
1033 ptr->l = cpu_to_be64(NULLFSBLOCK);
1035 ptr->s = cpu_to_be32(NULLAGBLOCK);
1045 union xfs_btree_ptr *ptr,
1052 ptr->l = block->bb_u.l.bb_rightsib;
1054 ptr->l = block->bb_u.l.bb_leftsib;
1057 ptr->s = block->bb_u.s.bb_rightsib;
1059 ptr->s = block->bb_u.s.bb_leftsib;
1067 union xfs_btree_ptr *ptr,
1074 block->bb_u.l.bb_rightsib = ptr->l;
1076 block->bb_u.l.bb_leftsib = ptr->l;
1079 block->bb_u.s.bb_rightsib = ptr->s;
1081 block->bb_u.s.bb_leftsib = ptr->s;
1167 * Return true if ptr is the last record in the btree and
1177 union xfs_btree_ptr ptr;
1184 xfs_btree_get_sibling(cur, block, &ptr, XFS_BB_RIGHTSIB);
1185 if (!xfs_btree_ptr_is_null(cur, &ptr))
1194 union xfs_btree_ptr *ptr)
1197 ptr->l = cpu_to_be64(XFS_DADDR_TO_FSB(cur->bc_mp,
1200 ptr->s = cpu_to_be32(xfs_daddr_to_agbno(cur->bc_mp,
1236 union xfs_btree_ptr *ptr,
1244 error = xfs_btree_ptr_to_daddr(cur, ptr, &d);
1258 * Read in the buffer at the given ptr and return the buffer and
1264 union xfs_btree_ptr *ptr,
1276 error = xfs_btree_ptr_to_daddr(cur, ptr, &d);
1376 union xfs_btree_ptr *ptr,
1385 dst_ptr = (char *)ptr + (dir * xfs_btree_ptr_len(cur));
1386 memmove(dst_ptr, ptr, numptrs * xfs_btree_ptr_len(cur));
1534 union xfs_btree_ptr ptr;
1558 xfs_btree_get_sibling(cur, block, &ptr, XFS_BB_RIGHTSIB);
1559 if (xfs_btree_ptr_is_null(cur, &ptr))
1639 union xfs_btree_ptr ptr;
1660 xfs_btree_get_sibling(cur, block, &ptr, XFS_BB_LEFTSIB);
1661 if (xfs_btree_ptr_is_null(cur, &ptr))
1721 union xfs_btree_ptr *pp, /* ptr to btree block */
1817 union xfs_btree_ptr *pp; /* ptr to btree block */
1818 union xfs_btree_ptr ptr; /* ptr to btree block */
1830 cur->bc_ops->init_ptr_from_cur(cur, &ptr);
1831 pp = &ptr;
1933 xfs_btree_get_sibling(cur, block, &ptr, XFS_BB_RIGHTSIB);
1936 !xfs_btree_ptr_is_null(cur, &ptr)) {
2062 int ptr)
2064 return (cur->bc_flags & XFS_BTREE_OVERLAPPING) || ptr == 1;
2086 int ptr;
2110 ptr = cur->bc_ptrs[level];
2111 nlkey = xfs_btree_key_addr(cur, ptr, block);
2112 nhkey = xfs_btree_high_key_addr(cur, ptr, block);
2118 xfs_btree_log_keys(cur, bp, ptr, ptr);
2152 int ptr;
2167 for (level++, ptr = 1; ptr == 1 && level < cur->bc_nlevels; level++) {
2177 ptr = cur->bc_ptrs[level];
2178 kp = xfs_btree_key_addr(cur, ptr, block);
2180 xfs_btree_log_keys(cur, bp, ptr, ptr);
2199 int ptr;
2211 ptr = cur->bc_ptrs[0];
2212 rp = xfs_btree_rec_addr(cur, ptr, block);
2216 xfs_btree_log_recs(cur, bp, ptr, ptr);
2224 ptr, LASTREC_UPDATE);
2228 if (xfs_btree_needs_key_update(cur, ptr)) {
2313 * If non-leaf, copy a key and a ptr to the left block.
2619 union xfs_btree_ptr lptr; /* left sibling block ptr */
2622 union xfs_btree_ptr rptr; /* right sibling block ptr */
2625 union xfs_btree_ptr rrptr; /* right-right sibling ptr */
2892 union xfs_btree_ptr *cpp; /* child ptr pointer */
3117 union xfs_btree_ptr *nptr, /* new btree ptr */
3192 union xfs_btree_ptr nptr; /* new block ptr */
3197 int ptr; /* key/record index */
3219 ptr = cur->bc_ptrs[level];
3220 if (ptr == 0) {
3225 optr = ptr;
3240 if (ptr <= numrecs) {
3243 xfs_btree_rec_addr(cur, ptr, block)));
3246 xfs_btree_key_addr(cur, ptr, block)));
3258 &optr, &ptr, &nptr, &ncur, lkey, stat);
3280 XFS_BTREE_STATS_ADD(cur, moves, numrecs - ptr + 1);
3287 kp = xfs_btree_key_addr(cur, ptr, block);
3288 pp = xfs_btree_ptr_addr(cur, ptr, block);
3290 for (i = numrecs - ptr; i >= 0; i--) {
3296 xfs_btree_shift_keys(cur, kp, 1, numrecs - ptr + 1);
3297 xfs_btree_shift_ptrs(cur, pp, 1, numrecs - ptr + 1);
3308 xfs_btree_log_ptrs(cur, bp, ptr, numrecs);
3309 xfs_btree_log_keys(cur, bp, ptr, numrecs);
3311 if (ptr < numrecs) {
3313 xfs_btree_key_addr(cur, ptr + 1, block)));
3320 rp = xfs_btree_rec_addr(cur, ptr, block);
3322 xfs_btree_shift_recs(cur, rp, 1, numrecs - ptr + 1);
3327 xfs_btree_log_recs(cur, bp, ptr, numrecs);
3329 if (ptr < numrecs) {
3331 xfs_btree_rec_addr(cur, ptr + 1, block)));
3361 ptr, LASTREC_INSREC);
3493 union xfs_btree_ptr ptr;
3529 xfs_btree_get_sibling(cur, block, &ptr, XFS_BB_LEFTSIB);
3530 ASSERT(xfs_btree_ptr_is_null(cur, &ptr));
3531 xfs_btree_get_sibling(cur, block, &ptr, XFS_BB_RIGHTSIB);
3532 ASSERT(xfs_btree_ptr_is_null(cur, &ptr));
3636 union xfs_btree_ptr cptr; /* current block ptr */
3640 union xfs_btree_ptr lptr; /* left sibling block ptr */
3644 int ptr; /* key/record index */
3645 union xfs_btree_ptr rptr; /* right sibling block ptr */
3657 ptr = cur->bc_ptrs[level];
3658 if (ptr == 0) {
3663 /* Get the buffer & block containing the record or key/ptr. */
3674 if (ptr > numrecs) {
3680 XFS_BTREE_STATS_ADD(cur, moves, numrecs - ptr);
3688 lkp = xfs_btree_key_addr(cur, ptr + 1, block);
3689 lpp = xfs_btree_ptr_addr(cur, ptr + 1, block);
3691 for (i = 0; i < numrecs - ptr; i++) {
3697 if (ptr < numrecs) {
3698 xfs_btree_shift_keys(cur, lkp, -1, numrecs - ptr);
3699 xfs_btree_shift_ptrs(cur, lpp, -1, numrecs - ptr);
3700 xfs_btree_log_keys(cur, bp, ptr, numrecs - 1);
3701 xfs_btree_log_ptrs(cur, bp, ptr, numrecs - 1);
3705 if (ptr < numrecs) {
3707 xfs_btree_rec_addr(cur, ptr + 1, block),
3708 -1, numrecs - ptr);
3709 xfs_btree_log_recs(cur, bp, ptr, numrecs - 1);
3725 ptr, LASTREC_DELREC);
3777 if (xfs_btree_needs_key_update(cur, ptr)) {
4120 * Readjust the ptr at this level if it's not a leaf, since it's
4122 * inconsistent. If this makes the ptr 0, the caller fixes it up.
4215 int ptr; /* record number */
4220 ptr = cur->bc_ptrs[0];
4232 if (ptr > xfs_btree_get_numrecs(block) || ptr <= 0) {
4240 *recp = xfs_btree_rec_addr(cur, ptr, block);
4300 union xfs_btree_ptr *ptr;
4302 ptr = xfs_btree_ptr_addr(cur, 1, block);
4303 xfs_btree_readahead_ptr(cur, ptr, 1);
4306 xfs_btree_copy_ptrs(cur, &lptr, ptr, 1);
4640 union xfs_btree_ptr ptr;
4657 cur->bc_ops->init_ptr_from_cur(cur, &ptr);
4658 error = xfs_btree_lookup_get_block(cur, level, &ptr, &block);