Lines Matching refs:level

58 	int			level,	/* level of the btree block */  in xfs_btree_check_lblock()  argument
75 be16_to_cpu(block->bb_level) == level && in xfs_btree_check_lblock()
77 cur->bc_ops->get_maxrecs(cur, level) && in xfs_btree_check_lblock()
102 int level, /* level of the btree block */ in xfs_btree_check_sblock() argument
125 be16_to_cpu(block->bb_level) == level && in xfs_btree_check_sblock()
127 cur->bc_ops->get_maxrecs(cur, level) && in xfs_btree_check_sblock()
153 int level, /* level of the btree block */ in xfs_btree_check_block() argument
157 return xfs_btree_check_lblock(cur, block, level, bp); in xfs_btree_check_block()
159 return xfs_btree_check_sblock(cur, block, level, bp); in xfs_btree_check_block()
169 int level) /* btree block level */ in xfs_btree_check_lptr() argument
172 level > 0 && in xfs_btree_check_lptr()
186 int level) /* btree block level */ in xfs_btree_check_sptr() argument
191 level > 0 && in xfs_btree_check_sptr()
206 int level) /* btree block level */ in xfs_btree_check_ptr() argument
210 be64_to_cpu((&ptr->l)[index]), level); in xfs_btree_check_ptr()
213 be32_to_cpu((&ptr->s)[index]), level); in xfs_btree_check_ptr()
458 int level) in xfs_btree_ptr_offset() argument
461 cur->bc_ops->get_maxrecs(cur, level) * cur->bc_ops->key_len + in xfs_btree_ptr_offset()
500 int level = xfs_btree_get_level(block); in xfs_btree_ptr_addr() local
505 ((char *)block + xfs_btree_ptr_offset(cur, n, level)); in xfs_btree_ptr_addr()
531 int level, /* level in btree */ in xfs_btree_get_block() argument
535 (level == cur->bc_nlevels - 1)) { in xfs_btree_get_block()
540 *bpp = cur->bc_bufs[level]; in xfs_btree_get_block()
588 int level) /* level to check */ in xfs_btree_islastblock() argument
593 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_islastblock()
594 xfs_btree_check_block(cur, block, level, bp); in xfs_btree_islastblock()
608 int level) /* level to change */ in xfs_btree_firstrec() argument
616 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_firstrec()
617 xfs_btree_check_block(cur, block, level, bp); in xfs_btree_firstrec()
626 cur->bc_ptrs[level] = 1; in xfs_btree_firstrec()
637 int level) /* level to change */ in xfs_btree_lastrec() argument
645 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_lastrec()
646 xfs_btree_check_block(cur, block, level, bp); in xfs_btree_lastrec()
655 cur->bc_ptrs[level] = be16_to_cpu(block->bb_numrecs); in xfs_btree_lastrec()
988 __u16 level, in xfs_btree_init_block_int() argument
994 buf->bb_level = cpu_to_be16(level); in xfs_btree_init_block_int()
1027 __u16 level, in xfs_btree_init_block() argument
1033 magic, level, numrecs, owner, flags); in xfs_btree_init_block()
1040 int level, in xfs_btree_init_block_cur() argument
1057 xfs_btree_magic(cur), level, numrecs, in xfs_btree_init_block_cur()
1070 int level) in xfs_btree_is_lastrec() argument
1074 if (level > 0) in xfs_btree_is_lastrec()
1340 int level = xfs_btree_get_level(block); in xfs_btree_log_ptrs() local
1344 xfs_btree_ptr_offset(cur, first, level), in xfs_btree_log_ptrs()
1345 xfs_btree_ptr_offset(cur, last + 1, level) - 1); in xfs_btree_log_ptrs()
1434 int level, in xfs_btree_increment() argument
1444 XFS_BTREE_TRACE_ARGI(cur, level); in xfs_btree_increment()
1446 ASSERT(level < cur->bc_nlevels); in xfs_btree_increment()
1449 xfs_btree_readahead(cur, level, XFS_BTCUR_RIGHTRA); in xfs_btree_increment()
1452 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_increment()
1455 error = xfs_btree_check_block(cur, block, level, bp); in xfs_btree_increment()
1461 if (++cur->bc_ptrs[level] <= xfs_btree_get_numrecs(block)) in xfs_btree_increment()
1475 for (lev = level + 1; lev < cur->bc_nlevels; lev++) { in xfs_btree_increment()
1508 for (block = xfs_btree_get_block(cur, lev, &bp); lev > level; ) { in xfs_btree_increment()
1542 int level, in xfs_btree_decrement() argument
1552 XFS_BTREE_TRACE_ARGI(cur, level); in xfs_btree_decrement()
1554 ASSERT(level < cur->bc_nlevels); in xfs_btree_decrement()
1557 xfs_btree_readahead(cur, level, XFS_BTCUR_LEFTRA); in xfs_btree_decrement()
1560 if (--cur->bc_ptrs[level] > 0) in xfs_btree_decrement()
1564 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_decrement()
1567 error = xfs_btree_check_block(cur, block, level, bp); in xfs_btree_decrement()
1583 for (lev = level + 1; lev < cur->bc_nlevels; lev++) { in xfs_btree_decrement()
1607 for (block = xfs_btree_get_block(cur, lev, &bp); lev > level; ) { in xfs_btree_decrement()
1636 int level, /* level in the btree */ in xfs_btree_lookup_get_block() argument
1645 (level == cur->bc_nlevels - 1)) { in xfs_btree_lookup_get_block()
1656 bp = cur->bc_bufs[level]; in xfs_btree_lookup_get_block()
1666 xfs_btree_setbuf(cur, level, bp); in xfs_btree_lookup_get_block()
1678 int level, in xfs_lookup_get_search_key() argument
1683 if (level == 0) { in xfs_lookup_get_search_key()
1706 int level; /* level in the btree */ in xfs_btree_lookup() local
1728 for (level = cur->bc_nlevels - 1, diff = 1; level >= 0; level--) { in xfs_btree_lookup()
1730 error = xfs_btree_lookup_get_block(cur, level, pp, &block); in xfs_btree_lookup()
1751 ASSERT(level == 0 && cur->bc_nlevels == 1); in xfs_btree_lookup()
1770 kp = xfs_lookup_get_search_key(cur, level, in xfs_btree_lookup()
1793 if (level > 0) { in xfs_btree_lookup()
1803 error = xfs_btree_check_ptr(cur, pp, 0, level); in xfs_btree_lookup()
1807 cur->bc_ptrs[level] = keyno; in xfs_btree_lookup()
1859 int level) in xfs_btree_updkey() argument
1867 XFS_BTREE_TRACE_ARGIK(cur, level, keyp); in xfs_btree_updkey()
1869 ASSERT(!(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) || level >= 1); in xfs_btree_updkey()
1877 for (ptr = 1; ptr == 1 && level < cur->bc_nlevels; level++) { in xfs_btree_updkey()
1881 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_updkey()
1883 error = xfs_btree_check_block(cur, block, level, bp); in xfs_btree_updkey()
1889 ptr = cur->bc_ptrs[level]; in xfs_btree_updkey()
1968 int level, in xfs_btree_lshift() argument
1985 XFS_BTREE_TRACE_ARGI(cur, level); in xfs_btree_lshift()
1988 level == cur->bc_nlevels - 1) in xfs_btree_lshift()
1992 right = xfs_btree_get_block(cur, level, &rbp); in xfs_btree_lshift()
1995 error = xfs_btree_check_block(cur, right, level, rbp); in xfs_btree_lshift()
2009 if (cur->bc_ptrs[level] <= 1) in xfs_btree_lshift()
2019 if (lrecs == cur->bc_ops->get_maxrecs(cur, level)) in xfs_btree_lshift()
2039 if (level > 0) { in xfs_btree_lshift()
2050 error = xfs_btree_check_ptr(cur, rpp, 0, level); in xfs_btree_lshift()
2086 if (level > 0) { in xfs_btree_lshift()
2092 error = xfs_btree_check_ptr(cur, rpp, i + 1, level); in xfs_btree_lshift()
2123 error = xfs_btree_updkey(cur, rkp, level + 1); in xfs_btree_lshift()
2128 cur->bc_ptrs[level]--; in xfs_btree_lshift()
2151 int level, in xfs_btree_rshift() argument
2168 XFS_BTREE_TRACE_ARGI(cur, level); in xfs_btree_rshift()
2171 (level == cur->bc_nlevels - 1)) in xfs_btree_rshift()
2175 left = xfs_btree_get_block(cur, level, &lbp); in xfs_btree_rshift()
2178 error = xfs_btree_check_block(cur, left, level, lbp); in xfs_btree_rshift()
2193 if (cur->bc_ptrs[level] >= lrecs) in xfs_btree_rshift()
2203 if (rrecs == cur->bc_ops->get_maxrecs(cur, level)) in xfs_btree_rshift()
2213 if (level > 0) { in xfs_btree_rshift()
2226 error = xfs_btree_check_ptr(cur, rpp, i, level); in xfs_btree_rshift()
2236 error = xfs_btree_check_ptr(cur, lpp, 0, level); in xfs_btree_rshift()
2287 i = xfs_btree_lastrec(tcur, level); in xfs_btree_rshift()
2290 error = xfs_btree_increment(tcur, level, &i); in xfs_btree_rshift()
2294 error = xfs_btree_updkey(tcur, rkp, level + 1); in xfs_btree_rshift()
2327 int level, in __xfs_btree_split() argument
2351 XFS_BTREE_TRACE_ARGIPK(cur, level, *ptrp, key); in __xfs_btree_split()
2356 left = xfs_btree_get_block(cur, level, &lbp); in __xfs_btree_split()
2359 error = xfs_btree_check_block(cur, left, level, lbp); in __xfs_btree_split()
2389 if ((lrecs & 1) && cur->bc_ptrs[level] <= rrecs + 1) in __xfs_btree_split()
2400 if (level > 0) { in __xfs_btree_split()
2414 error = xfs_btree_check_ptr(cur, lpp, i, level); in __xfs_btree_split()
2477 if (cur->bc_ptrs[level] > lrecs + 1) { in __xfs_btree_split()
2478 xfs_btree_setbuf(cur, level, rbp); in __xfs_btree_split()
2479 cur->bc_ptrs[level] -= lrecs; in __xfs_btree_split()
2485 if (level + 1 < cur->bc_nlevels) { in __xfs_btree_split()
2489 (*curp)->bc_ptrs[level + 1]++; in __xfs_btree_split()
2507 int level; member
2541 args->result = __xfs_btree_split(args->cur, args->level, args->ptrp, in xfs_btree_split_worker()
2556 int level, in xfs_btree_split() argument
2566 return __xfs_btree_split(cur, level, ptrp, key, curp, stat); in xfs_btree_split()
2569 args.level = level; in xfs_btree_split()
2602 int level; /* btree level */ in xfs_btree_new_iroot() local
2613 level = cur->bc_nlevels - 1; in xfs_btree_new_iroot()
2648 cur->bc_ptrs[level + 1] = 1; in xfs_btree_new_iroot()
2657 error = xfs_btree_check_ptr(cur, pp, i, level); in xfs_btree_new_iroot()
2665 error = xfs_btree_check_ptr(cur, &nptr, 0, level); in xfs_btree_new_iroot()
2675 xfs_btree_setbuf(cur, level, cbp); in xfs_btree_new_iroot()
2825 int level, /* btree level */ in xfs_btree_make_block_unfull() argument
2838 level == cur->bc_nlevels - 1) { in xfs_btree_make_block_unfull()
2841 if (numrecs < cur->bc_ops->get_dmaxrecs(cur, level)) { in xfs_btree_make_block_unfull()
2859 error = xfs_btree_rshift(cur, level, stat); in xfs_btree_make_block_unfull()
2864 error = xfs_btree_lshift(cur, level, stat); in xfs_btree_make_block_unfull()
2869 *oindex = *index = cur->bc_ptrs[level]; in xfs_btree_make_block_unfull()
2879 error = xfs_btree_split(cur, level, nptr, &key, ncur, stat); in xfs_btree_make_block_unfull()
2884 *index = cur->bc_ptrs[level]; in xfs_btree_make_block_unfull()
2896 int level, /* level to insert record at */ in xfs_btree_insrec() argument
2917 XFS_BTREE_TRACE_ARGIPR(cur, level, *ptrp, recp); in xfs_btree_insrec()
2926 (level >= cur->bc_nlevels)) { in xfs_btree_insrec()
2935 ptr = cur->bc_ptrs[level]; in xfs_btree_insrec()
2950 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_insrec()
2954 error = xfs_btree_check_block(cur, block, level, bp); in xfs_btree_insrec()
2960 if (level == 0) { in xfs_btree_insrec()
2975 if (numrecs == cur->bc_ops->get_maxrecs(cur, level)) { in xfs_btree_insrec()
2976 error = xfs_btree_make_block_unfull(cur, level, numrecs, in xfs_btree_insrec()
2986 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_insrec()
2990 error = xfs_btree_check_block(cur, block, level, bp); in xfs_btree_insrec()
3001 if (level > 0) { in xfs_btree_insrec()
3011 error = xfs_btree_check_ptr(cur, pp, i, level); in xfs_btree_insrec()
3021 error = xfs_btree_check_ptr(cur, ptrp, 0, level); in xfs_btree_insrec()
3064 error = xfs_btree_updkey(cur, &key, level + 1); in xfs_btree_insrec()
3073 if (xfs_btree_is_lastrec(cur, block, level)) { in xfs_btree_insrec()
3111 int level; /* current level number in btree */ in xfs_btree_insert() local
3117 level = 0; in xfs_btree_insert()
3134 error = xfs_btree_insrec(pcur, level, &nptr, &rec, &ncur, &i); in xfs_btree_insert()
3142 level++; in xfs_btree_insert()
3194 int level; in xfs_btree_kill_iroot() local
3211 level = cur->bc_nlevels - 1; in xfs_btree_kill_iroot()
3212 if (level == 1) in xfs_btree_kill_iroot()
3222 cblock = xfs_btree_get_block(cur, level - 1, &cbp); in xfs_btree_kill_iroot()
3230 if (numrecs > cur->bc_ops->get_dmaxrecs(cur, level)) in xfs_btree_kill_iroot()
3242 index = numrecs - cur->bc_ops->get_maxrecs(cur, level); in xfs_btree_kill_iroot()
3262 error = xfs_btree_check_ptr(cur, cpp, i, level - 1); in xfs_btree_kill_iroot()
3274 cur->bc_bufs[level - 1] = NULL; in xfs_btree_kill_iroot()
3291 int level, in xfs_btree_kill_root() argument
3313 cur->bc_bufs[level] = NULL; in xfs_btree_kill_root()
3314 cur->bc_ra[level] = 0; in xfs_btree_kill_root()
3324 int level, in xfs_btree_dec_cursor() argument
3330 if (level > 0) { in xfs_btree_dec_cursor()
3331 error = xfs_btree_decrement(cur, level, &i); in xfs_btree_dec_cursor()
3350 int level, /* level removing record from */ in xfs_btree_delrec() argument
3375 XFS_BTREE_TRACE_ARGI(cur, level); in xfs_btree_delrec()
3380 ptr = cur->bc_ptrs[level]; in xfs_btree_delrec()
3388 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_delrec()
3392 error = xfs_btree_check_block(cur, block, level, bp); in xfs_btree_delrec()
3408 if (level > 0) { in xfs_btree_delrec()
3418 error = xfs_btree_check_ptr(cur, lpp, i, level); in xfs_btree_delrec()
3467 if (xfs_btree_is_lastrec(cur, block, level)) { in xfs_btree_delrec()
3477 if (level == cur->bc_nlevels - 1) { in xfs_btree_delrec()
3486 error = xfs_btree_dec_cursor(cur, level, stat); in xfs_btree_delrec()
3498 if (numrecs == 1 && level > 0) { in xfs_btree_delrec()
3505 error = xfs_btree_kill_root(cur, bp, level, pp); in xfs_btree_delrec()
3508 } else if (level > 0) { in xfs_btree_delrec()
3509 error = xfs_btree_dec_cursor(cur, level, stat); in xfs_btree_delrec()
3522 error = xfs_btree_updkey(cur, keyp, level + 1); in xfs_btree_delrec()
3531 if (numrecs >= cur->bc_ops->get_minrecs(cur, level)) { in xfs_btree_delrec()
3532 error = xfs_btree_dec_cursor(cur, level, stat); in xfs_btree_delrec()
3554 level == cur->bc_nlevels - 2) { in xfs_btree_delrec()
3557 error = xfs_btree_dec_cursor(cur, level, stat); in xfs_btree_delrec()
3584 i = xfs_btree_lastrec(tcur, level); in xfs_btree_delrec()
3587 error = xfs_btree_increment(tcur, level, &i); in xfs_btree_delrec()
3592 i = xfs_btree_lastrec(tcur, level); in xfs_btree_delrec()
3596 right = xfs_btree_get_block(tcur, level, &rbp); in xfs_btree_delrec()
3598 error = xfs_btree_check_block(tcur, right, level, rbp); in xfs_btree_delrec()
3611 cur->bc_ops->get_minrecs(tcur, level)) { in xfs_btree_delrec()
3612 error = xfs_btree_lshift(tcur, level, &i); in xfs_btree_delrec()
3617 cur->bc_ops->get_minrecs(tcur, level)); in xfs_btree_delrec()
3622 error = xfs_btree_dec_cursor(cur, level, stat); in xfs_btree_delrec()
3636 i = xfs_btree_firstrec(tcur, level); in xfs_btree_delrec()
3639 error = xfs_btree_decrement(tcur, level, &i); in xfs_btree_delrec()
3655 i = xfs_btree_firstrec(tcur, level); in xfs_btree_delrec()
3658 error = xfs_btree_decrement(tcur, level, &i); in xfs_btree_delrec()
3661 i = xfs_btree_firstrec(tcur, level); in xfs_btree_delrec()
3665 left = xfs_btree_get_block(tcur, level, &lbp); in xfs_btree_delrec()
3667 error = xfs_btree_check_block(cur, left, level, lbp); in xfs_btree_delrec()
3680 cur->bc_ops->get_minrecs(tcur, level)) { in xfs_btree_delrec()
3681 error = xfs_btree_rshift(tcur, level, &i); in xfs_btree_delrec()
3686 cur->bc_ops->get_minrecs(tcur, level)); in xfs_btree_delrec()
3689 if (level == 0) in xfs_btree_delrec()
3713 cur->bc_ops->get_maxrecs(cur, level)) { in xfs_btree_delrec()
3730 cur->bc_ops->get_maxrecs(cur, level)) { in xfs_btree_delrec()
3747 error = xfs_btree_dec_cursor(cur, level, stat); in xfs_btree_delrec()
3761 if (level > 0) { in xfs_btree_delrec()
3774 error = xfs_btree_check_ptr(cur, rpp, i, level); in xfs_btree_delrec()
3828 cur->bc_bufs[level] = lbp; in xfs_btree_delrec()
3829 cur->bc_ptrs[level] += lrecs; in xfs_btree_delrec()
3830 cur->bc_ra[level] = 0; in xfs_btree_delrec()
3837 (level + 1 < cur->bc_nlevels)) { in xfs_btree_delrec()
3838 error = xfs_btree_increment(cur, level + 1, &i); in xfs_btree_delrec()
3849 if (level > 0) in xfs_btree_delrec()
3850 cur->bc_ptrs[level]--; in xfs_btree_delrec()
3875 int level; in xfs_btree_delete() local
3886 for (level = 0, i = 2; i == 2; level++) { in xfs_btree_delete()
3887 error = xfs_btree_delrec(cur, level, &i); in xfs_btree_delete()
3893 for (level = 1; level < cur->bc_nlevels; level++) { in xfs_btree_delete()
3894 if (cur->bc_ptrs[level] == 0) { in xfs_btree_delete()
3895 error = xfs_btree_decrement(cur, level, &i); in xfs_btree_delete()
3979 int level, in xfs_btree_block_change_owner() argument
3988 xfs_btree_readahead(cur, level, XFS_BTCUR_RIGHTRA); in xfs_btree_block_change_owner()
3991 block = xfs_btree_get_block(cur, level, &bp); in xfs_btree_block_change_owner()
4013 ASSERT(level == cur->bc_nlevels - 1); in xfs_btree_block_change_owner()
4021 return xfs_btree_lookup_get_block(cur, level, &rptr, &block); in xfs_btree_block_change_owner()
4031 int level; in xfs_btree_change_owner() local
4038 for (level = cur->bc_nlevels - 1; level >= 0; level--) { in xfs_btree_change_owner()
4040 error = xfs_btree_lookup_get_block(cur, level, &lptr, &block); in xfs_btree_change_owner()
4045 if (level > 0) { in xfs_btree_change_owner()
4057 error = xfs_btree_block_change_owner(cur, level, in xfs_btree_change_owner()