Lines Matching defs:level
26 int level = NILFS_BTREE_LEVEL_DATA;
32 for (; level < NILFS_BTREE_LEVEL_MAX; level++) {
33 path[level].bp_bh = NULL;
34 path[level].bp_sib_bh = NULL;
35 path[level].bp_index = 0;
36 path[level].bp_oldreq.bpr_ptr = NILFS_BMAP_INVALID_PTR;
37 path[level].bp_newreq.bpr_ptr = NILFS_BMAP_INVALID_PTR;
38 path[level].bp_op = NULL;
47 int level = NILFS_BTREE_LEVEL_DATA;
49 for (; level < NILFS_BTREE_LEVEL_MAX; level++)
50 brelse(path[level].bp_bh);
96 nilfs_btree_node_set_level(struct nilfs_btree_node *node, int level)
98 node->bn_level = level;
163 int level, int nchildren, int ncmax,
171 nilfs_btree_node_set_level(node, level);
343 int level, flags, nchildren;
346 level = nilfs_btree_node_get_level(node);
350 if (unlikely(level < NILFS_BTREE_LEVEL_NODE_MIN ||
351 level >= NILFS_BTREE_LEVEL_MAX ||
356 "bad btree node (ino=%lu, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
357 inode->i_ino, (unsigned long long)blocknr, level,
374 int level, flags, nchildren;
377 level = nilfs_btree_node_get_level(node);
381 if (unlikely(level < NILFS_BTREE_LEVEL_NODE_MIN ||
382 level >= NILFS_BTREE_LEVEL_MAX ||
386 "bad btree root (ino=%lu): level = %d, flags = 0x%x, nchildren = %d",
387 inode->i_ino, level, flags, nchildren);
416 nilfs_btree_get_nonroot_node(const struct nilfs_btree_path *path, int level)
418 return (struct nilfs_btree_node *)path[level].bp_bh->b_data;
422 nilfs_btree_get_sib_node(const struct nilfs_btree_path *path, int level)
424 return (struct nilfs_btree_node *)path[level].bp_sib_bh->b_data;
435 int level, int *ncmaxp)
439 if (level == nilfs_btree_height(btree) - 1) {
443 node = nilfs_btree_get_nonroot_node(path, level);
450 struct nilfs_btree_node *node, int level)
452 if (unlikely(nilfs_btree_node_get_level(node) != level)) {
455 "btree level mismatch (ino=%lu): %d != %d",
457 nilfs_btree_node_get_level(node), level);
554 int level, index, found, ncmax, ret;
557 level = nilfs_btree_node_get_level(node);
558 if (level < minlevel || nilfs_btree_node_get_nchildren(node) <= 0)
564 path[level].bp_bh = NULL;
565 path[level].bp_index = index;
569 while (--level >= minlevel) {
571 if (level == NILFS_BTREE_LEVEL_NODE_MIN && readahead) {
572 p.node = nilfs_btree_get_node(btree, path, level + 1,
578 ret = __nilfs_btree_get_block(btree, ptr, &path[level].bp_bh,
583 node = nilfs_btree_get_nonroot_node(path, level);
584 if (nilfs_btree_bad_node(btree, node, level))
593 WARN_ON(found || level != NILFS_BTREE_LEVEL_NODE_MIN);
597 path[level].bp_index = index;
614 int index, level, ncmax, ret;
620 level = nilfs_btree_node_get_level(node);
623 path[level].bp_bh = NULL;
624 path[level].bp_index = index;
627 for (level--; level > 0; level--) {
628 ret = nilfs_btree_get_block(btree, ptr, &path[level].bp_bh);
631 node = nilfs_btree_get_nonroot_node(path, level);
632 if (nilfs_btree_bad_node(btree, node, level))
636 path[level].bp_index = index;
651 * @minlevel: start level
663 int index, next_adj, level;
667 for (level = minlevel; level <= maxlevel; level++) {
668 if (level == maxlevel)
671 node = nilfs_btree_get_nonroot_node(path, level);
673 index = path[level].bp_index + next_adj;
686 __u64 key, int level, __u64 *ptrp)
695 ret = nilfs_btree_do_lookup(btree, path, key, ptrp, level, 0);
711 int level = NILFS_BTREE_LEVEL_NODE_MIN;
719 ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level, 1);
735 node = nilfs_btree_get_node(btree, path, level, &ncmax);
736 index = path[level].bp_index + 1;
754 if (level == maxlevel)
758 p.node = nilfs_btree_get_node(btree, path, level + 1, &p.ncmax);
759 p.index = path[level + 1].bp_index + 1;
765 path[level + 1].bp_index = p.index;
767 brelse(path[level].bp_bh);
768 path[level].bp_bh = NULL;
770 ret = __nilfs_btree_get_block(btree, ptr2, &path[level].bp_bh,
774 node = nilfs_btree_get_nonroot_node(path, level);
777 path[level].bp_index = index;
789 int level, __u64 key)
791 if (level < nilfs_btree_height(btree) - 1) {
794 nilfs_btree_get_nonroot_node(path, level),
795 path[level].bp_index, key);
796 if (!buffer_dirty(path[level].bp_bh))
797 mark_buffer_dirty(path[level].bp_bh);
798 } while ((path[level].bp_index == 0) &&
799 (++level < nilfs_btree_height(btree) - 1));
803 if (level == nilfs_btree_height(btree) - 1) {
805 path[level].bp_index, key);
811 int level, __u64 *keyp, __u64 *ptrp)
816 if (level < nilfs_btree_height(btree) - 1) {
817 node = nilfs_btree_get_nonroot_node(path, level);
819 nilfs_btree_node_insert(node, path[level].bp_index,
821 if (!buffer_dirty(path[level].bp_bh))
822 mark_buffer_dirty(path[level].bp_bh);
824 if (path[level].bp_index == 0)
825 nilfs_btree_promote_key(btree, path, level + 1,
830 nilfs_btree_node_insert(node, path[level].bp_index,
838 int level, __u64 *keyp, __u64 *ptrp)
843 node = nilfs_btree_get_nonroot_node(path, level);
844 left = nilfs_btree_get_sib_node(path, level);
851 if (n > path[level].bp_index) {
859 if (!buffer_dirty(path[level].bp_bh))
860 mark_buffer_dirty(path[level].bp_bh);
861 if (!buffer_dirty(path[level].bp_sib_bh))
862 mark_buffer_dirty(path[level].bp_sib_bh);
864 nilfs_btree_promote_key(btree, path, level + 1,
868 brelse(path[level].bp_bh);
869 path[level].bp_bh = path[level].bp_sib_bh;
870 path[level].bp_sib_bh = NULL;
871 path[level].bp_index += lnchildren;
872 path[level + 1].bp_index--;
874 brelse(path[level].bp_sib_bh);
875 path[level].bp_sib_bh = NULL;
876 path[level].bp_index -= n;
879 nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
884 int level, __u64 *keyp, __u64 *ptrp)
889 node = nilfs_btree_get_nonroot_node(path, level);
890 right = nilfs_btree_get_sib_node(path, level);
897 if (n > nchildren - path[level].bp_index) {
905 if (!buffer_dirty(path[level].bp_bh))
906 mark_buffer_dirty(path[level].bp_bh);
907 if (!buffer_dirty(path[level].bp_sib_bh))
908 mark_buffer_dirty(path[level].bp_sib_bh);
910 path[level + 1].bp_index++;
911 nilfs_btree_promote_key(btree, path, level + 1,
913 path[level + 1].bp_index--;
916 brelse(path[level].bp_bh);
917 path[level].bp_bh = path[level].bp_sib_bh;
918 path[level].bp_sib_bh = NULL;
919 path[level].bp_index -= nilfs_btree_node_get_nchildren(node);
920 path[level + 1].bp_index++;
922 brelse(path[level].bp_sib_bh);
923 path[level].bp_sib_bh = NULL;
926 nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
931 int level, __u64 *keyp, __u64 *ptrp)
936 node = nilfs_btree_get_nonroot_node(path, level);
937 right = nilfs_btree_get_sib_node(path, level);
943 if (n > nchildren - path[level].bp_index) {
950 if (!buffer_dirty(path[level].bp_bh))
951 mark_buffer_dirty(path[level].bp_bh);
952 if (!buffer_dirty(path[level].bp_sib_bh))
953 mark_buffer_dirty(path[level].bp_sib_bh);
956 path[level].bp_index -= nilfs_btree_node_get_nchildren(node);
957 nilfs_btree_node_insert(right, path[level].bp_index,
961 *ptrp = path[level].bp_newreq.bpr_ptr;
963 brelse(path[level].bp_bh);
964 path[level].bp_bh = path[level].bp_sib_bh;
965 path[level].bp_sib_bh = NULL;
967 nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
970 *ptrp = path[level].bp_newreq.bpr_ptr;
972 brelse(path[level].bp_sib_bh);
973 path[level].bp_sib_bh = NULL;
976 path[level + 1].bp_index++;
981 int level, __u64 *keyp, __u64 *ptrp)
987 child = nilfs_btree_get_sib_node(path, level);
994 nilfs_btree_node_set_level(root, level + 1);
996 if (!buffer_dirty(path[level].bp_sib_bh))
997 mark_buffer_dirty(path[level].bp_sib_bh);
999 path[level].bp_bh = path[level].bp_sib_bh;
1000 path[level].bp_sib_bh = NULL;
1002 nilfs_btree_do_insert(btree, path, level, keyp, ptrp);
1005 *ptrp = path[level].bp_newreq.bpr_ptr;
1012 int level, ncmax;
1018 level = NILFS_BTREE_LEVEL_NODE_MIN;
1019 if (path[level].bp_index > 0) {
1020 node = nilfs_btree_get_node(btree, path, level, &ncmax);
1022 path[level].bp_index - 1,
1027 level = NILFS_BTREE_LEVEL_NODE_MIN + 1;
1028 if (level <= nilfs_btree_height(btree) - 1) {
1029 node = nilfs_btree_get_node(btree, path, level, &ncmax);
1030 return nilfs_btree_node_get_ptr(node, path[level].bp_index,
1065 int pindex, level, ncmax, ncblk, ret;
1069 level = NILFS_BTREE_LEVEL_DATA;
1073 path[level].bp_newreq.bpr_ptr =
1078 ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat);
1084 for (level = NILFS_BTREE_LEVEL_NODE_MIN;
1085 level < nilfs_btree_height(btree) - 1;
1086 level++) {
1087 node = nilfs_btree_get_nonroot_node(path, level);
1089 path[level].bp_op = nilfs_btree_do_insert;
1094 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
1095 pindex = path[level + 1].bp_index;
1106 path[level].bp_sib_bh = bh;
1107 path[level].bp_op = nilfs_btree_carry_left;
1124 path[level].bp_sib_bh = bh;
1125 path[level].bp_op = nilfs_btree_carry_right;
1134 path[level].bp_newreq.bpr_ptr =
1135 path[level - 1].bp_newreq.bpr_ptr + 1;
1137 &path[level].bp_newreq, dat);
1141 path[level].bp_newreq.bpr_ptr,
1149 nilfs_btree_node_init(sib, 0, level, 0, ncblk, NULL, NULL);
1150 path[level].bp_sib_bh = bh;
1151 path[level].bp_op = nilfs_btree_split;
1158 path[level].bp_op = nilfs_btree_do_insert;
1164 path[level].bp_newreq.bpr_ptr = path[level - 1].bp_newreq.bpr_ptr + 1;
1165 ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat);
1168 ret = nilfs_btree_get_new_block(btree, path[level].bp_newreq.bpr_ptr,
1174 0, level, 0, ncblk, NULL, NULL);
1175 path[level].bp_sib_bh = bh;
1176 path[level].bp_op = nilfs_btree_grow;
1178 level++;
1179 path[level].bp_op = nilfs_btree_do_insert;
1186 *levelp = level;
1191 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat);
1193 for (level--; level > NILFS_BTREE_LEVEL_DATA; level--) {
1194 nilfs_btnode_delete(path[level].bp_sib_bh);
1195 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat);
1199 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat);
1201 *levelp = level;
1211 int level;
1220 for (level = NILFS_BTREE_LEVEL_NODE_MIN; level <= maxlevel; level++) {
1222 &path[level - 1].bp_newreq, dat);
1223 path[level].bp_op(btree, path, level, &key, &ptr);
1234 int level, ret;
1248 ret = nilfs_btree_prepare_insert(btree, path, &level, key, ptr, &stats);
1251 nilfs_btree_commit_insert(btree, path, level, key, ptr);
1261 int level, __u64 *keyp, __u64 *ptrp)
1266 if (level < nilfs_btree_height(btree) - 1) {
1267 node = nilfs_btree_get_nonroot_node(path, level);
1269 nilfs_btree_node_delete(node, path[level].bp_index,
1271 if (!buffer_dirty(path[level].bp_bh))
1272 mark_buffer_dirty(path[level].bp_bh);
1273 if (path[level].bp_index == 0)
1274 nilfs_btree_promote_key(btree, path, level + 1,
1278 nilfs_btree_node_delete(node, path[level].bp_index,
1286 int level, __u64 *keyp, __u64 *ptrp)
1291 nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
1293 node = nilfs_btree_get_nonroot_node(path, level);
1294 left = nilfs_btree_get_sib_node(path, level);
1303 if (!buffer_dirty(path[level].bp_bh))
1304 mark_buffer_dirty(path[level].bp_bh);
1305 if (!buffer_dirty(path[level].bp_sib_bh))
1306 mark_buffer_dirty(path[level].bp_sib_bh);
1308 nilfs_btree_promote_key(btree, path, level + 1,
1311 brelse(path[level].bp_sib_bh);
1312 path[level].bp_sib_bh = NULL;
1313 path[level].bp_index += n;
1318 int level, __u64 *keyp, __u64 *ptrp)
1323 nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
1325 node = nilfs_btree_get_nonroot_node(path, level);
1326 right = nilfs_btree_get_sib_node(path, level);
1335 if (!buffer_dirty(path[level].bp_bh))
1336 mark_buffer_dirty(path[level].bp_bh);
1337 if (!buffer_dirty(path[level].bp_sib_bh))
1338 mark_buffer_dirty(path[level].bp_sib_bh);
1340 path[level + 1].bp_index++;
1341 nilfs_btree_promote_key(btree, path, level + 1,
1343 path[level + 1].bp_index--;
1345 brelse(path[level].bp_sib_bh);
1346 path[level].bp_sib_bh = NULL;
1351 int level, __u64 *keyp, __u64 *ptrp)
1356 nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
1358 node = nilfs_btree_get_nonroot_node(path, level);
1359 left = nilfs_btree_get_sib_node(path, level);
1366 if (!buffer_dirty(path[level].bp_sib_bh))
1367 mark_buffer_dirty(path[level].bp_sib_bh);
1369 nilfs_btnode_delete(path[level].bp_bh);
1370 path[level].bp_bh = path[level].bp_sib_bh;
1371 path[level].bp_sib_bh = NULL;
1372 path[level].bp_index += nilfs_btree_node_get_nchildren(left);
1377 int level, __u64 *keyp, __u64 *ptrp)
1382 nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
1384 node = nilfs_btree_get_nonroot_node(path, level);
1385 right = nilfs_btree_get_sib_node(path, level);
1392 if (!buffer_dirty(path[level].bp_bh))
1393 mark_buffer_dirty(path[level].bp_bh);
1395 nilfs_btnode_delete(path[level].bp_sib_bh);
1396 path[level].bp_sib_bh = NULL;
1397 path[level + 1].bp_index++;
1402 int level, __u64 *keyp, __u64 *ptrp)
1407 nilfs_btree_do_delete(btree, path, level, keyp, ptrp);
1410 child = nilfs_btree_get_nonroot_node(path, level);
1415 nilfs_btree_node_set_level(root, level);
1420 nilfs_btnode_delete(path[level].bp_bh);
1421 path[level].bp_bh = NULL;
1426 int level, __u64 *keyp, __u64 *ptrp)
1439 int pindex, dindex, level, ncmin, ncmax, ncblk, ret;
1446 for (level = NILFS_BTREE_LEVEL_NODE_MIN, dindex = path[level].bp_index;
1447 level < nilfs_btree_height(btree) - 1;
1448 level++) {
1449 node = nilfs_btree_get_nonroot_node(path, level);
1450 path[level].bp_oldreq.bpr_ptr =
1453 &path[level].bp_oldreq, dat);
1458 path[level].bp_op = nilfs_btree_do_delete;
1463 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
1464 pindex = path[level + 1].bp_index;
1476 path[level].bp_sib_bh = bh;
1477 path[level].bp_op = nilfs_btree_borrow_left;
1481 path[level].bp_sib_bh = bh;
1482 path[level].bp_op = nilfs_btree_concat_left;
1496 path[level].bp_sib_bh = bh;
1497 path[level].bp_op = nilfs_btree_borrow_right;
1501 path[level].bp_sib_bh = bh;
1502 path[level].bp_op = nilfs_btree_concat_right;
1517 WARN_ON(level != nilfs_btree_height(btree) - 2);
1520 path[level].bp_op = nilfs_btree_shrink;
1522 level++;
1523 path[level].bp_op = nilfs_btree_nop;
1526 path[level].bp_op = nilfs_btree_do_delete;
1534 path[level].bp_op = nilfs_btree_do_delete;
1539 path[level].bp_oldreq.bpr_ptr =
1543 ret = nilfs_bmap_prepare_end_ptr(btree, &path[level].bp_oldreq, dat);
1549 *levelp = level;
1554 nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat);
1556 for (level--; level >= NILFS_BTREE_LEVEL_NODE_MIN; level--) {
1557 brelse(path[level].bp_sib_bh);
1558 nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat);
1560 *levelp = level;
1569 int level;
1571 for (level = NILFS_BTREE_LEVEL_NODE_MIN; level <= maxlevel; level++) {
1572 nilfs_bmap_commit_end_ptr(btree, &path[level].bp_oldreq, dat);
1573 path[level].bp_op(btree, path, level, NULL, NULL);
1586 int level, ret;
1600 ret = nilfs_btree_prepare_delete(btree, path, &level, &stats, dat);
1603 nilfs_btree_commit_delete(btree, path, level, dat);
1821 /* create child node at level 1 */
1833 /* create root node at level 2 */
1842 /* create root node at level 1 */
1900 int level,
1903 while ((++level < nilfs_btree_height(btree) - 1) &&
1904 !buffer_dirty(path[level].bp_bh))
1905 mark_buffer_dirty(path[level].bp_bh);
1912 int level, struct inode *dat)
1917 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
1918 path[level].bp_oldreq.bpr_ptr =
1919 nilfs_btree_node_get_ptr(parent, path[level + 1].bp_index,
1921 path[level].bp_newreq.bpr_ptr = path[level].bp_oldreq.bpr_ptr + 1;
1922 ret = nilfs_dat_prepare_update(dat, &path[level].bp_oldreq.bpr_req,
1923 &path[level].bp_newreq.bpr_req);
1927 if (buffer_nilfs_node(path[level].bp_bh)) {
1928 path[level].bp_ctxt.oldkey = path[level].bp_oldreq.bpr_ptr;
1929 path[level].bp_ctxt.newkey = path[level].bp_newreq.bpr_ptr;
1930 path[level].bp_ctxt.bh = path[level].bp_bh;
1933 &path[level].bp_ctxt);
1936 &path[level].bp_oldreq.bpr_req,
1937 &path[level].bp_newreq.bpr_req);
1947 int level, struct inode *dat)
1952 nilfs_dat_commit_update(dat, &path[level].bp_oldreq.bpr_req,
1953 &path[level].bp_newreq.bpr_req,
1956 if (buffer_nilfs_node(path[level].bp_bh)) {
1959 &path[level].bp_ctxt);
1960 path[level].bp_bh = path[level].bp_ctxt.bh;
1962 set_buffer_nilfs_volatile(path[level].bp_bh);
1964 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
1965 nilfs_btree_node_set_ptr(parent, path[level + 1].bp_index,
1966 path[level].bp_newreq.bpr_ptr, ncmax);
1971 int level, struct inode *dat)
1973 nilfs_dat_abort_update(dat, &path[level].bp_oldreq.bpr_req,
1974 &path[level].bp_newreq.bpr_req);
1975 if (buffer_nilfs_node(path[level].bp_bh))
1978 &path[level].bp_ctxt);
1986 int level, ret;
1988 level = minlevel;
1989 if (!buffer_nilfs_volatile(path[level].bp_bh)) {
1990 ret = nilfs_btree_prepare_update_v(btree, path, level, dat);
1994 while ((++level < nilfs_btree_height(btree) - 1) &&
1995 !buffer_dirty(path[level].bp_bh)) {
1997 WARN_ON(buffer_nilfs_volatile(path[level].bp_bh));
1998 ret = nilfs_btree_prepare_update_v(btree, path, level, dat);
2004 *maxlevelp = level - 1;
2009 while (--level > minlevel)
2010 nilfs_btree_abort_update_v(btree, path, level, dat);
2011 if (!buffer_nilfs_volatile(path[level].bp_bh))
2012 nilfs_btree_abort_update_v(btree, path, level, dat);
2022 int level;
2027 for (level = minlevel + 1; level <= maxlevel; level++)
2028 nilfs_btree_commit_update_v(btree, path, level, dat);
2033 int level, struct buffer_head *bh)
2042 path[level].bp_bh = bh;
2043 ret = nilfs_btree_prepare_propagate_v(btree, path, level, &maxlevel,
2048 if (buffer_nilfs_volatile(path[level].bp_bh)) {
2049 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
2051 path[level + 1].bp_index,
2058 nilfs_btree_commit_propagate_v(btree, path, level, maxlevel, bh, dat);
2061 brelse(path[level].bp_bh);
2062 path[level].bp_bh = NULL;
2072 int level, ret;
2083 level = nilfs_btree_node_get_level(node);
2086 level = NILFS_BTREE_LEVEL_DATA;
2089 ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0);
2093 "writing node/leaf block does not appear in b-tree (ino=%lu) at key=%llu, level=%d",
2095 (unsigned long long)key, level);
2100 nilfs_btree_propagate_v(btree, path, level, bh) :
2101 nilfs_btree_propagate_p(btree, path, level, bh);
2123 int level;
2128 level = nilfs_btree_node_get_level(node);
2129 if (level < NILFS_BTREE_LEVEL_NODE_MIN ||
2130 level >= NILFS_BTREE_LEVEL_MAX) {
2133 "invalid btree level: %d (key=%llu, ino=%lu, blocknr=%llu)",
2134 level, (unsigned long long)key,
2140 list_for_each(head, &lists[level]) {
2159 int level, i;
2161 for (level = NILFS_BTREE_LEVEL_NODE_MIN;
2162 level < NILFS_BTREE_LEVEL_MAX;
2163 level++)
2164 INIT_LIST_HEAD(&lists[level]);
2182 for (level = NILFS_BTREE_LEVEL_NODE_MIN;
2183 level < NILFS_BTREE_LEVEL_MAX;
2184 level++)
2185 list_splice_tail(&lists[level], listp);
2190 int level,
2200 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
2201 ptr = nilfs_btree_node_get_ptr(parent, path[level + 1].bp_index,
2204 path[level].bp_ctxt.oldkey = ptr;
2205 path[level].bp_ctxt.newkey = blocknr;
2206 path[level].bp_ctxt.bh = *bh;
2209 &path[level].bp_ctxt);
2214 &path[level].bp_ctxt);
2215 *bh = path[level].bp_ctxt.bh;
2218 nilfs_btree_node_set_ptr(parent, path[level + 1].bp_index, blocknr,
2221 key = nilfs_btree_node_get_key(parent, path[level + 1].bp_index);
2224 binfo->bi_dat.bi_level = level;
2231 int level,
2243 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax);
2244 ptr = nilfs_btree_node_get_ptr(parent, path[level + 1].bp_index,
2252 key = nilfs_btree_node_get_key(parent, path[level + 1].bp_index);
2268 int level, ret;
2277 level = nilfs_btree_node_get_level(node);
2280 level = NILFS_BTREE_LEVEL_DATA;
2283 ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0);
2290 nilfs_btree_assign_v(btree, path, level, bh, blocknr, binfo) :
2291 nilfs_btree_assign_p(btree, path, level, bh, blocknr, binfo);
2326 static int nilfs_btree_mark(struct nilfs_bmap *btree, __u64 key, int level)
2337 ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level + 1, 0);