Lines Matching refs:btree
71 static int nilfs_btree_get_new_block(const struct nilfs_bmap *btree, in nilfs_btree_get_new_block() argument
74 struct address_space *btnc = &NILFS_BMAP_I(btree)->i_btnode_cache; in nilfs_btree_get_new_block()
124 static int nilfs_btree_node_size(const struct nilfs_bmap *btree) in nilfs_btree_node_size() argument
126 return 1 << btree->b_inode->i_blkbits; in nilfs_btree_node_size()
129 static int nilfs_btree_nchildren_per_block(const struct nilfs_bmap *btree) in nilfs_btree_nchildren_per_block() argument
131 return btree->b_nchildren_per_block; in nilfs_btree_nchildren_per_block()
416 nilfs_btree_get_root(const struct nilfs_bmap *btree) in nilfs_btree_get_root() argument
418 return (struct nilfs_btree_node *)btree->b_u.u_data; in nilfs_btree_get_root()
433 static int nilfs_btree_height(const struct nilfs_bmap *btree) in nilfs_btree_height() argument
435 return nilfs_btree_node_get_level(nilfs_btree_get_root(btree)) + 1; in nilfs_btree_height()
439 nilfs_btree_get_node(const struct nilfs_bmap *btree, in nilfs_btree_get_node() argument
445 if (level == nilfs_btree_height(btree) - 1) { in nilfs_btree_get_node()
446 node = nilfs_btree_get_root(btree); in nilfs_btree_get_node()
450 *ncmaxp = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_get_node()
474 static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr, in __nilfs_btree_get_block() argument
478 struct address_space *btnc = &NILFS_BMAP_I(btree)->i_btnode_cache; in __nilfs_btree_get_block()
529 static int nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr, in nilfs_btree_get_block() argument
532 return __nilfs_btree_get_block(btree, ptr, bhp, NULL); in nilfs_btree_get_block()
535 static int nilfs_btree_do_lookup(const struct nilfs_bmap *btree, in nilfs_btree_do_lookup() argument
545 node = nilfs_btree_get_root(btree); in nilfs_btree_do_lookup()
556 ncmax = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_do_lookup()
561 p.node = nilfs_btree_get_node(btree, path, level + 1, in nilfs_btree_do_lookup()
567 ret = __nilfs_btree_get_block(btree, ptr, &path[level].bp_bh, in nilfs_btree_do_lookup()
597 static int nilfs_btree_do_lookup_last(const struct nilfs_bmap *btree, in nilfs_btree_do_lookup_last() argument
605 node = nilfs_btree_get_root(btree); in nilfs_btree_do_lookup_last()
614 ncmax = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_do_lookup_last()
617 ret = nilfs_btree_get_block(btree, ptr, &path[level].bp_bh); in nilfs_btree_do_lookup_last()
646 static int nilfs_btree_get_next_key(const struct nilfs_bmap *btree, in nilfs_btree_get_next_key() argument
651 int maxlevel = nilfs_btree_height(btree) - 1; in nilfs_btree_get_next_key()
658 node = nilfs_btree_get_root(btree); in nilfs_btree_get_next_key()
674 static int nilfs_btree_lookup(const struct nilfs_bmap *btree, in nilfs_btree_lookup() argument
684 ret = nilfs_btree_do_lookup(btree, path, key, ptrp, level, 0); in nilfs_btree_lookup()
691 static int nilfs_btree_lookup_contig(const struct nilfs_bmap *btree, in nilfs_btree_lookup_contig() argument
707 ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level, 1); in nilfs_btree_lookup_contig()
711 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_lookup_contig()
712 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_lookup_contig()
722 maxlevel = nilfs_btree_height(btree) - 1; in nilfs_btree_lookup_contig()
723 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_lookup_contig()
746 p.node = nilfs_btree_get_node(btree, path, level + 1, &p.ncmax); in nilfs_btree_lookup_contig()
758 ret = __nilfs_btree_get_block(btree, ptr2, &path[level].bp_bh, in nilfs_btree_lookup_contig()
763 ncmax = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_lookup_contig()
775 static void nilfs_btree_promote_key(struct nilfs_bmap *btree, in nilfs_btree_promote_key() argument
779 if (level < nilfs_btree_height(btree) - 1) { in nilfs_btree_promote_key()
787 (++level < nilfs_btree_height(btree) - 1)); in nilfs_btree_promote_key()
791 if (level == nilfs_btree_height(btree) - 1) { in nilfs_btree_promote_key()
792 nilfs_btree_node_set_key(nilfs_btree_get_root(btree), in nilfs_btree_promote_key()
797 static void nilfs_btree_do_insert(struct nilfs_bmap *btree, in nilfs_btree_do_insert() argument
804 if (level < nilfs_btree_height(btree) - 1) { in nilfs_btree_do_insert()
806 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_do_insert()
813 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_do_insert()
817 node = nilfs_btree_get_root(btree); in nilfs_btree_do_insert()
824 static void nilfs_btree_carry_left(struct nilfs_bmap *btree, in nilfs_btree_carry_left() argument
835 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_carry_left()
852 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_carry_left()
867 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_carry_left()
870 static void nilfs_btree_carry_right(struct nilfs_bmap *btree, in nilfs_btree_carry_right() argument
881 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_carry_right()
899 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_carry_right()
914 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_carry_right()
917 static void nilfs_btree_split(struct nilfs_bmap *btree, in nilfs_btree_split() argument
927 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_split()
955 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_split()
967 static void nilfs_btree_grow(struct nilfs_bmap *btree, in nilfs_btree_grow() argument
974 root = nilfs_btree_get_root(btree); in nilfs_btree_grow()
976 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_grow()
990 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_grow()
996 static __u64 nilfs_btree_find_near(const struct nilfs_bmap *btree, in nilfs_btree_find_near() argument
1008 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_find_near()
1016 if (level <= nilfs_btree_height(btree) - 1) { in nilfs_btree_find_near()
1017 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_find_near()
1025 static __u64 nilfs_btree_find_target_v(const struct nilfs_bmap *btree, in nilfs_btree_find_target_v() argument
1031 ptr = nilfs_bmap_find_target_seq(btree, key); in nilfs_btree_find_target_v()
1036 ptr = nilfs_btree_find_near(btree, path); in nilfs_btree_find_target_v()
1042 return nilfs_bmap_find_target_in_group(btree); in nilfs_btree_find_target_v()
1045 static int nilfs_btree_prepare_insert(struct nilfs_bmap *btree, in nilfs_btree_prepare_insert() argument
1060 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_prepare_insert()
1062 nilfs_btree_find_target_v(btree, path, key); in nilfs_btree_prepare_insert()
1063 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_prepare_insert()
1066 ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1070 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_prepare_insert()
1073 level < nilfs_btree_height(btree) - 1; in nilfs_btree_prepare_insert()
1082 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_prepare_insert()
1089 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_insert()
1107 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_insert()
1124 ret = nilfs_bmap_prepare_alloc_ptr(btree, in nilfs_btree_prepare_insert()
1128 ret = nilfs_btree_get_new_block(btree, in nilfs_btree_prepare_insert()
1143 node = nilfs_btree_get_root(btree); in nilfs_btree_prepare_insert()
1153 ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1156 ret = nilfs_btree_get_new_block(btree, path[level].bp_newreq.bpr_ptr, in nilfs_btree_prepare_insert()
1179 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1183 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1187 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1194 static void nilfs_btree_commit_insert(struct nilfs_bmap *btree, in nilfs_btree_commit_insert() argument
1203 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_commit_insert()
1204 nilfs_bmap_set_target_v(btree, key, ptr); in nilfs_btree_commit_insert()
1205 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_commit_insert()
1209 nilfs_bmap_commit_alloc_ptr(btree, in nilfs_btree_commit_insert()
1211 path[level].bp_op(btree, path, level, &key, &ptr); in nilfs_btree_commit_insert()
1214 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_insert()
1215 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_insert()
1218 static int nilfs_btree_insert(struct nilfs_bmap *btree, __u64 key, __u64 ptr) in nilfs_btree_insert() argument
1228 ret = nilfs_btree_do_lookup(btree, path, key, NULL, in nilfs_btree_insert()
1236 ret = nilfs_btree_prepare_insert(btree, path, &level, key, ptr, &stats); in nilfs_btree_insert()
1239 nilfs_btree_commit_insert(btree, path, level, key, ptr); in nilfs_btree_insert()
1240 nilfs_inode_add_blocks(btree->b_inode, stats.bs_nblocks); in nilfs_btree_insert()
1247 static void nilfs_btree_do_delete(struct nilfs_bmap *btree, in nilfs_btree_do_delete() argument
1254 if (level < nilfs_btree_height(btree) - 1) { in nilfs_btree_do_delete()
1256 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_do_delete()
1262 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_do_delete()
1265 node = nilfs_btree_get_root(btree); in nilfs_btree_do_delete()
1272 static void nilfs_btree_borrow_left(struct nilfs_bmap *btree, in nilfs_btree_borrow_left() argument
1279 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_borrow_left()
1285 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_borrow_left()
1296 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_borrow_left()
1304 static void nilfs_btree_borrow_right(struct nilfs_bmap *btree, in nilfs_btree_borrow_right() argument
1311 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_borrow_right()
1317 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_borrow_right()
1329 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_borrow_right()
1337 static void nilfs_btree_concat_left(struct nilfs_bmap *btree, in nilfs_btree_concat_left() argument
1344 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_concat_left()
1348 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_concat_left()
1363 static void nilfs_btree_concat_right(struct nilfs_bmap *btree, in nilfs_btree_concat_right() argument
1370 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_concat_right()
1374 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_concat_right()
1388 static void nilfs_btree_shrink(struct nilfs_bmap *btree, in nilfs_btree_shrink() argument
1395 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_shrink()
1397 root = nilfs_btree_get_root(btree); in nilfs_btree_shrink()
1399 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_shrink()
1412 static void nilfs_btree_nop(struct nilfs_bmap *btree, in nilfs_btree_nop() argument
1418 static int nilfs_btree_prepare_delete(struct nilfs_bmap *btree, in nilfs_btree_prepare_delete() argument
1431 ncmin = NILFS_BTREE_NODE_NCHILDREN_MIN(nilfs_btree_node_size(btree)); in nilfs_btree_prepare_delete()
1432 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_prepare_delete()
1435 level < nilfs_btree_height(btree) - 1; in nilfs_btree_prepare_delete()
1440 ret = nilfs_bmap_prepare_end_ptr(btree, in nilfs_btree_prepare_delete()
1451 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_prepare_delete()
1459 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_delete()
1479 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_delete()
1505 WARN_ON(level != nilfs_btree_height(btree) - 2); in nilfs_btree_prepare_delete()
1526 node = nilfs_btree_get_root(btree); in nilfs_btree_prepare_delete()
1531 ret = nilfs_bmap_prepare_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_prepare_delete()
1542 nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_prepare_delete()
1546 nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_prepare_delete()
1553 static void nilfs_btree_commit_delete(struct nilfs_bmap *btree, in nilfs_btree_commit_delete() argument
1560 nilfs_bmap_commit_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_commit_delete()
1561 path[level].bp_op(btree, path, level, NULL, NULL); in nilfs_btree_commit_delete()
1564 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_delete()
1565 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_delete()
1568 static int nilfs_btree_delete(struct nilfs_bmap *btree, __u64 key) in nilfs_btree_delete() argument
1580 ret = nilfs_btree_do_lookup(btree, path, key, NULL, in nilfs_btree_delete()
1586 dat = NILFS_BMAP_USE_VBN(btree) ? nilfs_bmap_get_dat(btree) : NULL; in nilfs_btree_delete()
1588 ret = nilfs_btree_prepare_delete(btree, path, &level, &stats, dat); in nilfs_btree_delete()
1591 nilfs_btree_commit_delete(btree, path, level, dat); in nilfs_btree_delete()
1592 nilfs_inode_sub_blocks(btree->b_inode, stats.bs_nblocks); in nilfs_btree_delete()
1599 static int nilfs_btree_seek_key(const struct nilfs_bmap *btree, __u64 start, in nilfs_btree_seek_key() argument
1610 ret = nilfs_btree_do_lookup(btree, path, start, NULL, minlevel, 0); in nilfs_btree_seek_key()
1614 ret = nilfs_btree_get_next_key(btree, path, minlevel, keyp); in nilfs_btree_seek_key()
1620 static int nilfs_btree_last_key(const struct nilfs_bmap *btree, __u64 *keyp) in nilfs_btree_last_key() argument
1629 ret = nilfs_btree_do_lookup_last(btree, path, keyp, NULL); in nilfs_btree_last_key()
1636 static int nilfs_btree_check_delete(struct nilfs_bmap *btree, __u64 key) in nilfs_btree_check_delete() argument
1644 root = nilfs_btree_get_root(btree); in nilfs_btree_check_delete()
1645 switch (nilfs_btree_height(btree)) { in nilfs_btree_check_delete()
1656 ret = nilfs_btree_get_block(btree, ptr, &bh); in nilfs_btree_check_delete()
1675 static int nilfs_btree_gather_data(struct nilfs_bmap *btree, in nilfs_btree_gather_data() argument
1685 root = nilfs_btree_get_root(btree); in nilfs_btree_gather_data()
1686 switch (nilfs_btree_height(btree)) { in nilfs_btree_gather_data()
1697 ret = nilfs_btree_get_block(btree, ptr, &bh); in nilfs_btree_gather_data()
1701 ncmax = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_gather_data()
1725 nilfs_btree_prepare_convert_and_insert(struct nilfs_bmap *btree, __u64 key, in nilfs_btree_prepare_convert_and_insert() argument
1739 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_prepare_convert_and_insert()
1740 dreq->bpr_ptr = nilfs_btree_find_target_v(btree, NULL, key); in nilfs_btree_prepare_convert_and_insert()
1741 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_prepare_convert_and_insert()
1744 ret = nilfs_bmap_prepare_alloc_ptr(btree, dreq, dat); in nilfs_btree_prepare_convert_and_insert()
1752 ret = nilfs_bmap_prepare_alloc_ptr(btree, nreq, dat); in nilfs_btree_prepare_convert_and_insert()
1756 ret = nilfs_btree_get_new_block(btree, nreq->bpr_ptr, &bh); in nilfs_btree_prepare_convert_and_insert()
1769 nilfs_bmap_abort_alloc_ptr(btree, nreq, dat); in nilfs_btree_prepare_convert_and_insert()
1771 nilfs_bmap_abort_alloc_ptr(btree, dreq, dat); in nilfs_btree_prepare_convert_and_insert()
1778 nilfs_btree_commit_convert_and_insert(struct nilfs_bmap *btree, in nilfs_btree_commit_convert_and_insert() argument
1792 if (btree->b_ops->bop_clear != NULL) in nilfs_btree_commit_convert_and_insert()
1793 btree->b_ops->bop_clear(btree); in nilfs_btree_commit_convert_and_insert()
1799 dat = NILFS_BMAP_USE_VBN(btree) ? nilfs_bmap_get_dat(btree) : NULL; in nilfs_btree_commit_convert_and_insert()
1800 __nilfs_btree_init(btree); in nilfs_btree_commit_convert_and_insert()
1802 nilfs_bmap_commit_alloc_ptr(btree, dreq, dat); in nilfs_btree_commit_convert_and_insert()
1803 nilfs_bmap_commit_alloc_ptr(btree, nreq, dat); in nilfs_btree_commit_convert_and_insert()
1807 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_commit_convert_and_insert()
1812 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_convert_and_insert()
1813 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_convert_and_insert()
1818 node = nilfs_btree_get_root(btree); in nilfs_btree_commit_convert_and_insert()
1824 nilfs_bmap_commit_alloc_ptr(btree, dreq, dat); in nilfs_btree_commit_convert_and_insert()
1827 node = nilfs_btree_get_root(btree); in nilfs_btree_commit_convert_and_insert()
1833 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_convert_and_insert()
1834 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_convert_and_insert()
1837 if (NILFS_BMAP_USE_VBN(btree)) in nilfs_btree_commit_convert_and_insert()
1838 nilfs_bmap_set_target_v(btree, key, dreq->bpr_ptr); in nilfs_btree_commit_convert_and_insert()
1850 int nilfs_btree_convert_and_insert(struct nilfs_bmap *btree, in nilfs_btree_convert_and_insert() argument
1863 1 << btree->b_inode->i_blkbits)) { in nilfs_btree_convert_and_insert()
1872 ret = nilfs_btree_prepare_convert_and_insert(btree, key, di, ni, &bh, in nilfs_btree_convert_and_insert()
1876 nilfs_btree_commit_convert_and_insert(btree, key, ptr, keys, ptrs, n, in nilfs_btree_convert_and_insert()
1878 nilfs_inode_add_blocks(btree->b_inode, stats.bs_nblocks); in nilfs_btree_convert_and_insert()
1882 static int nilfs_btree_propagate_p(struct nilfs_bmap *btree, in nilfs_btree_propagate_p() argument
1887 while ((++level < nilfs_btree_height(btree) - 1) && in nilfs_btree_propagate_p()
1894 static int nilfs_btree_prepare_update_v(struct nilfs_bmap *btree, in nilfs_btree_prepare_update_v() argument
1901 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_prepare_update_v()
1916 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_prepare_update_v()
1929 static void nilfs_btree_commit_update_v(struct nilfs_bmap *btree, in nilfs_btree_commit_update_v() argument
1938 btree->b_ptr_type == NILFS_BMAP_PTR_VS); in nilfs_btree_commit_update_v()
1942 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_commit_update_v()
1948 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_commit_update_v()
1953 static void nilfs_btree_abort_update_v(struct nilfs_bmap *btree, in nilfs_btree_abort_update_v() argument
1961 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_abort_update_v()
1965 static int nilfs_btree_prepare_propagate_v(struct nilfs_bmap *btree, in nilfs_btree_prepare_propagate_v() argument
1974 ret = nilfs_btree_prepare_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
1978 while ((++level < nilfs_btree_height(btree) - 1) && in nilfs_btree_prepare_propagate_v()
1982 ret = nilfs_btree_prepare_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
1994 nilfs_btree_abort_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
1996 nilfs_btree_abort_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
2000 static void nilfs_btree_commit_propagate_v(struct nilfs_bmap *btree, in nilfs_btree_commit_propagate_v() argument
2009 nilfs_btree_commit_update_v(btree, path, minlevel, dat); in nilfs_btree_commit_propagate_v()
2012 nilfs_btree_commit_update_v(btree, path, level, dat); in nilfs_btree_commit_propagate_v()
2015 static int nilfs_btree_propagate_v(struct nilfs_bmap *btree, in nilfs_btree_propagate_v() argument
2021 struct inode *dat = nilfs_bmap_get_dat(btree); in nilfs_btree_propagate_v()
2027 ret = nilfs_btree_prepare_propagate_v(btree, path, level, &maxlevel, in nilfs_btree_propagate_v()
2033 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_propagate_v()
2042 nilfs_btree_commit_propagate_v(btree, path, level, maxlevel, bh, dat); in nilfs_btree_propagate_v()
2050 static int nilfs_btree_propagate(struct nilfs_bmap *btree, in nilfs_btree_propagate() argument
2069 key = nilfs_bmap_data_get_key(btree, bh); in nilfs_btree_propagate()
2073 ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0); in nilfs_btree_propagate()
2081 ret = NILFS_BMAP_USE_VBN(btree) ? in nilfs_btree_propagate()
2082 nilfs_btree_propagate_v(btree, path, level, bh) : in nilfs_btree_propagate()
2083 nilfs_btree_propagate_p(btree, path, level, bh); in nilfs_btree_propagate()
2091 static int nilfs_btree_propagate_gc(struct nilfs_bmap *btree, in nilfs_btree_propagate_gc() argument
2094 return nilfs_dat_mark_dirty(nilfs_bmap_get_dat(btree), bh->b_blocknr); in nilfs_btree_propagate_gc()
2097 static void nilfs_btree_add_dirty_buffer(struct nilfs_bmap *btree, in nilfs_btree_add_dirty_buffer() argument
2118 NILFS_BMAP_I(btree)->vfs_inode.i_ino, in nilfs_btree_add_dirty_buffer()
2133 static void nilfs_btree_lookup_dirty_buffers(struct nilfs_bmap *btree, in nilfs_btree_lookup_dirty_buffers() argument
2136 struct address_space *btcache = &NILFS_BMAP_I(btree)->i_btnode_cache; in nilfs_btree_lookup_dirty_buffers()
2156 nilfs_btree_add_dirty_buffer(btree, in nilfs_btree_lookup_dirty_buffers()
2170 static int nilfs_btree_assign_p(struct nilfs_bmap *btree, in nilfs_btree_assign_p() argument
2182 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_assign_p()
2190 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_assign_p()
2195 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_assign_p()
2211 static int nilfs_btree_assign_v(struct nilfs_bmap *btree, in nilfs_btree_assign_v() argument
2219 struct inode *dat = nilfs_bmap_get_dat(btree); in nilfs_btree_assign_v()
2225 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_assign_v()
2242 static int nilfs_btree_assign(struct nilfs_bmap *btree, in nilfs_btree_assign() argument
2261 key = nilfs_bmap_data_get_key(btree, *bh); in nilfs_btree_assign()
2265 ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0); in nilfs_btree_assign()
2271 ret = NILFS_BMAP_USE_VBN(btree) ? in nilfs_btree_assign()
2272 nilfs_btree_assign_v(btree, path, level, bh, blocknr, binfo) : in nilfs_btree_assign()
2273 nilfs_btree_assign_p(btree, path, level, bh, blocknr, binfo); in nilfs_btree_assign()
2281 static int nilfs_btree_assign_gc(struct nilfs_bmap *btree, in nilfs_btree_assign_gc() argument
2290 ret = nilfs_dat_move(nilfs_bmap_get_dat(btree), (*bh)->b_blocknr, in nilfs_btree_assign_gc()
2299 key = nilfs_bmap_data_get_key(btree, *bh); in nilfs_btree_assign_gc()
2308 static int nilfs_btree_mark(struct nilfs_bmap *btree, __u64 key, int level) in nilfs_btree_mark() argument
2319 ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level + 1, 0); in nilfs_btree_mark()
2324 ret = nilfs_btree_get_block(btree, ptr, &bh); in nilfs_btree_mark()
2333 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_mark()
2334 nilfs_bmap_set_dirty(btree); in nilfs_btree_mark()