Lines Matching refs:block

153  * Add a trace buffer entry for arguments, for 3 block-length args
324 xfs_bmbt_block_t *block; /* bmap btree block */
325 xfs_fsblock_t bno; /* fs-relative block number */
326 xfs_buf_t *bp; /* buffer for block */
335 xfs_fsblock_t lbno; /* left sibling block number */
337 xfs_bmbt_block_t *left; /* left btree block */
343 xfs_bmbt_ptr_t *pp; /* pointer to bmap block addr */
345 xfs_fsblock_t rbno; /* right sibling block number */
347 xfs_bmbt_block_t *right; /* right btree block */
351 xfs_bmbt_block_t *rrblock; /* right-right btree block */
368 block = xfs_bmbt_get_block(cur, level, &bp);
369 numrecs = be16_to_cpu(block->bb_numrecs);
371 if ((error = xfs_btree_check_lblock(cur, block, level, bp))) {
383 kp = XFS_BMAP_KEY_IADDR(block, 1, cur);
384 pp = XFS_BMAP_PTR_IADDR(block, 1, cur);
402 rp = XFS_BMAP_REC_IADDR(block, 1, cur);
414 block->bb_numrecs = cpu_to_be16(numrecs);
418 * First, shrink the root block in-memory.
450 rbno = be64_to_cpu(block->bb_rightsib);
451 lbno = be64_to_cpu(block->bb_leftsib);
503 ASSERT(be16_to_cpu(block->bb_numrecs) >=
535 * decrement to last in block
559 ASSERT(be16_to_cpu(block->bb_numrecs) >=
577 lrecs + be16_to_cpu(block->bb_numrecs) <= XFS_BMAP_BLOCK_IMAXRECS(level, cur)) {
579 right = block;
592 rrecs + be16_to_cpu(block->bb_numrecs) <=
595 left = block;
700 xfs_bmbt_block_t *block;
708 block = xfs_bmbt_get_block(cur, 0, &bp);
711 if ((error = xfs_btree_check_lblock(cur, block, 0, bp)))
714 if (ptr > be16_to_cpu(block->bb_numrecs) || ptr <= 0) {
718 rp = XFS_BMAP_REC_IADDR(block, ptr, cur);
741 xfs_bmbt_block_t *block; /* bmap btree block */
742 xfs_buf_t *bp; /* buffer for block */
751 xfs_fsblock_t nbno; /* new block number */
756 xfs_bmbt_ptr_t *pp; /* pointer to bmap block addr */
774 block = xfs_bmbt_get_block(cur, level, &bp);
775 numrecs = be16_to_cpu(block->bb_numrecs);
778 if ((error = xfs_btree_check_lblock(cur, block, level, bp))) {
784 rp = XFS_BMAP_REC_IADDR(block, ptr, cur);
787 kp = XFS_BMAP_KEY_IADDR(block, ptr, cur);
796 * A root block, that can be made bigger.
800 block = xfs_bmbt_get_block(cur, level, &bp);
809 block = xfs_bmbt_get_block(cur, level, &bp);
833 block = xfs_bmbt_get_block(
838 block, level, bp))) {
858 numrecs = be16_to_cpu(block->bb_numrecs);
860 kp = XFS_BMAP_KEY_IADDR(block, 1, cur);
861 pp = XFS_BMAP_PTR_IADDR(block, 1, cur);
885 block->bb_numrecs = cpu_to_be16(numrecs);
889 rp = XFS_BMAP_REC_IADDR(block, 1, cur);
894 block->bb_numrecs = cpu_to_be16(numrecs);
926 xfs_bmbt_block_t *block;
948 * Don't deal with the root block needs to be a leaf case.
955 block = xfs_bmbt_get_block(cur, level, &cbp);
959 if (be16_to_cpu(block->bb_numrecs) != 1) {
983 block = ifp->if_broot;
985 be16_add(&block->bb_numrecs, i);
986 ASSERT(block->bb_numrecs == cblock->bb_numrecs);
987 kp = XFS_BMAP_KEY_IADDR(block, 1, cur);
989 memcpy(kp, ckp, be16_to_cpu(block->bb_numrecs) * sizeof(*kp));
990 pp = XFS_BMAP_PTR_IADDR(block, 1, cur);
1000 memcpy(pp, cpp, be16_to_cpu(block->bb_numrecs) * sizeof(*pp));
1008 be16_add(&block->bb_level, -1);
1017 * Log key values from the btree block.
1035 xfs_bmbt_block_t *block;
1040 block = XFS_BUF_TO_BMBT_BLOCK(bp);
1041 kp = XFS_BMAP_KEY_DADDR(block, 1, cur);
1042 first = (int)((xfs_caddr_t)&kp[kfirst - 1] - (xfs_caddr_t)block);
1043 last = (int)(((xfs_caddr_t)&kp[klast] - 1) - (xfs_caddr_t)block);
1056 * Log pointer values from the btree block.
1074 xfs_bmbt_block_t *block;
1079 block = XFS_BUF_TO_BMBT_BLOCK(bp);
1080 pp = XFS_BMAP_PTR_DADDR(block, 1, cur);
1081 first = (int)((xfs_caddr_t)&pp[pfirst - 1] - (xfs_caddr_t)block);
1082 last = (int)(((xfs_caddr_t)&pp[plast] - 1) - (xfs_caddr_t)block);
1103 xfs_bmbt_block_t *block=NULL;
1146 block = XFS_BUF_TO_BMBT_BLOCK(bp);
1147 if ((error = xfs_btree_check_lblock(cur, block,
1153 block = XFS_BUF_TO_BMBT_BLOCK(bp);
1155 block = xfs_bmbt_get_block(cur, level, &bp);
1160 kkbase = XFS_BMAP_KEY_IADDR(block, 1, cur);
1162 krbase = XFS_BMAP_REC_IADDR(block, 1, cur);
1164 if (!(high = be16_to_cpu(block->bb_numrecs))) {
1194 pp = XFS_BMAP_PTR_IADDR(block, keyno, cur);
1208 * If ge search and we went off the end of the block, but it's
1209 * not the last block, we're in the wrong block.
1211 if (dir == XFS_LOOKUP_GE && keyno > be16_to_cpu(block->bb_numrecs) &&
1212 be64_to_cpu(block->bb_rightsib) != NULLDFSBNO) {
1227 if (keyno == 0 || keyno > be16_to_cpu(block->bb_numrecs)) {
1256 xfs_bmbt_block_t *left; /* left btree block */
1263 xfs_bmbt_block_t *right; /* right btree block */
1391 xfs_bmbt_block_t *left; /* left btree block */
1397 xfs_bmbt_block_t *right; /* right btree block */
1533 * Split cur/level block in half.
1534 * Return new block number and its first record (to be inserted into parent).
1545 xfs_alloc_arg_t args; /* block allocation args */
1551 xfs_fsblock_t lbno; /* left sibling block number */
1553 xfs_bmbt_block_t *left; /* left btree block */
1558 xfs_bmbt_block_t *right; /* right btree block */
1561 xfs_bmbt_block_t *rrblock; /* right-right btree block */
1692 xfs_bmbt_block_t *block;
1707 block = xfs_bmbt_get_block(cur, level, &bp);
1709 if ((error = xfs_btree_check_lblock(cur, block, level, bp))) {
1715 kp = XFS_BMAP_KEY_IADDR(block, ptr, cur);
1765 xfs_bmbt_block_t *block;
1786 block = xfs_bmbt_get_block(cur, level, &bp);
1788 if ((error = xfs_btree_check_lblock(cur, block, level, bp))) {
1793 if (be64_to_cpu(block->bb_leftsib) == NULLDFSBNO) {
1811 for (block = xfs_bmbt_get_block(cur, lev, &bp); lev > level; ) {
1812 fsbno = INT_GET(*XFS_BMAP_PTR_IADDR(block, cur->bc_ptrs[lev], cur), ARCH_CONVERT);
1820 block = XFS_BUF_TO_BMBT_BLOCK(bp);
1821 if ((error = xfs_btree_check_lblock(cur, block, lev, bp))) {
1825 cur->bc_ptrs[lev] = be16_to_cpu(block->bb_numrecs);
1925 * Get the block pointer for the given level of the cursor.
2088 xfs_bmbt_block_t *block;
2104 block = xfs_bmbt_get_block(cur, level, &bp);
2106 if ((error = xfs_btree_check_lblock(cur, block, level, bp))) {
2111 if (++cur->bc_ptrs[level] <= be16_to_cpu(block->bb_numrecs)) {
2116 if (be64_to_cpu(block->bb_rightsib) == NULLDFSBNO) {
2122 block = xfs_bmbt_get_block(cur, lev, &bp);
2124 if ((error = xfs_btree_check_lblock(cur, block, lev, bp))) {
2129 if (++cur->bc_ptrs[lev] <= be16_to_cpu(block->bb_numrecs))
2141 for (block = xfs_bmbt_get_block(cur, lev, &bp); lev > level; ) {
2142 fsbno = INT_GET(*XFS_BMAP_PTR_IADDR(block, cur->bc_ptrs[lev], cur), ARCH_CONVERT);
2150 block = XFS_BUF_TO_BMBT_BLOCK(bp);
2151 if ((error = xfs_btree_check_lblock(cur, block, lev, bp))) {
2224 * Log fields from the btree block header.
2261 * Log record values from the btree block.
2270 xfs_bmbt_block_t *block;
2283 block = XFS_BUF_TO_BMBT_BLOCK(bp);
2284 rp = XFS_BMAP_REC_DADDR(block, 1, cur);
2285 first = (int)((xfs_caddr_t)&rp[rfirst - 1] - (xfs_caddr_t)block);
2286 last = (int)(((xfs_caddr_t)&rp[rlast] - 1) - (xfs_caddr_t)block);
2320 * Give the bmap btree a new root block. Copy the old broot contents
2321 * down into a real block and make the broot point to it.
2330 xfs_bmbt_block_t *block; /* bmap btree block */
2331 xfs_buf_t *bp; /* buffer for block */
2332 xfs_bmbt_block_t *cblock; /* child btree block */
2344 xfs_bmbt_ptr_t *pp; /* pointer to bmap block addr */
2348 block = xfs_bmbt_get_block(cur, level, &bp);
2350 * Copy the root into a real block.
2353 pp = XFS_BMAP_PTR_IADDR(block, 1, cur);
2390 *cblock = *block;
2391 be16_add(&block->bb_level, 1);
2392 block->bb_numrecs = cpu_to_be16(1);
2395 kp = XFS_BMAP_KEY_IADDR(block, 1, cur);
2720 xfs_bmbt_block_t *block;
2733 block = xfs_bmbt_get_block(cur, 0, &bp);
2735 if ((error = xfs_btree_check_lblock(cur, block, 0, bp))) {
2741 rp = XFS_BMAP_REC_IADDR(block, ptr, cur);