Lines Matching refs:btree

58 static int nilfs_btree_get_new_block(const struct nilfs_bmap *btree,  in nilfs_btree_get_new_block()  argument
61 struct address_space *btnc = &NILFS_BMAP_I(btree)->i_btnode_cache; in nilfs_btree_get_new_block()
111 static int nilfs_btree_node_size(const struct nilfs_bmap *btree) in nilfs_btree_node_size() argument
113 return i_blocksize(btree->b_inode); in nilfs_btree_node_size()
116 static int nilfs_btree_nchildren_per_block(const struct nilfs_bmap *btree) in nilfs_btree_nchildren_per_block() argument
118 return btree->b_nchildren_per_block; in nilfs_btree_nchildren_per_block()
409 nilfs_btree_get_root(const struct nilfs_bmap *btree) in nilfs_btree_get_root() argument
411 return (struct nilfs_btree_node *)btree->b_u.u_data; in nilfs_btree_get_root()
426 static int nilfs_btree_height(const struct nilfs_bmap *btree) in nilfs_btree_height() argument
428 return nilfs_btree_node_get_level(nilfs_btree_get_root(btree)) + 1; in nilfs_btree_height()
432 nilfs_btree_get_node(const struct nilfs_bmap *btree, in nilfs_btree_get_node() argument
438 if (level == nilfs_btree_height(btree) - 1) { in nilfs_btree_get_node()
439 node = nilfs_btree_get_root(btree); in nilfs_btree_get_node()
443 *ncmaxp = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_get_node()
448 static int nilfs_btree_bad_node(const struct nilfs_bmap *btree, in nilfs_btree_bad_node() argument
453 nilfs_msg(btree->b_inode->i_sb, KERN_CRIT, in nilfs_btree_bad_node()
455 btree->b_inode->i_ino, in nilfs_btree_bad_node()
469 static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr, in __nilfs_btree_get_block() argument
473 struct address_space *btnc = &NILFS_BMAP_I(btree)->i_btnode_cache; in __nilfs_btree_get_block()
511 nilfs_msg(btree->b_inode->i_sb, KERN_ERR, in __nilfs_btree_get_block()
513 btree->b_inode->i_ino, (unsigned long long)ptr); 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()
573 if (nilfs_btree_bad_node(btree, node, level)) 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()
621 if (nilfs_btree_bad_node(btree, node, level)) 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
708 ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level, 1); in nilfs_btree_lookup_contig()
712 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_lookup_contig()
713 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_lookup_contig()
723 maxlevel = nilfs_btree_height(btree) - 1; in nilfs_btree_lookup_contig()
724 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_lookup_contig()
747 p.node = nilfs_btree_get_node(btree, path, level + 1, &p.ncmax); in nilfs_btree_lookup_contig()
759 ret = __nilfs_btree_get_block(btree, ptr2, &path[level].bp_bh, in nilfs_btree_lookup_contig()
764 ncmax = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_lookup_contig()
776 static void nilfs_btree_promote_key(struct nilfs_bmap *btree, in nilfs_btree_promote_key() argument
780 if (level < nilfs_btree_height(btree) - 1) { in nilfs_btree_promote_key()
788 (++level < nilfs_btree_height(btree) - 1)); in nilfs_btree_promote_key()
792 if (level == nilfs_btree_height(btree) - 1) { in nilfs_btree_promote_key()
793 nilfs_btree_node_set_key(nilfs_btree_get_root(btree), in nilfs_btree_promote_key()
798 static void nilfs_btree_do_insert(struct nilfs_bmap *btree, in nilfs_btree_do_insert() argument
805 if (level < nilfs_btree_height(btree) - 1) { in nilfs_btree_do_insert()
807 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_do_insert()
814 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_do_insert()
818 node = nilfs_btree_get_root(btree); in nilfs_btree_do_insert()
825 static void nilfs_btree_carry_left(struct nilfs_bmap *btree, in nilfs_btree_carry_left() argument
836 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_carry_left()
853 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_carry_left()
868 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_carry_left()
871 static void nilfs_btree_carry_right(struct nilfs_bmap *btree, in nilfs_btree_carry_right() argument
882 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_carry_right()
900 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_carry_right()
915 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_carry_right()
918 static void nilfs_btree_split(struct nilfs_bmap *btree, in nilfs_btree_split() argument
928 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_split()
956 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_split()
968 static void nilfs_btree_grow(struct nilfs_bmap *btree, in nilfs_btree_grow() argument
975 root = nilfs_btree_get_root(btree); in nilfs_btree_grow()
977 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_grow()
991 nilfs_btree_do_insert(btree, path, level, keyp, ptrp); in nilfs_btree_grow()
997 static __u64 nilfs_btree_find_near(const struct nilfs_bmap *btree, in nilfs_btree_find_near() argument
1009 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_find_near()
1017 if (level <= nilfs_btree_height(btree) - 1) { in nilfs_btree_find_near()
1018 node = nilfs_btree_get_node(btree, path, level, &ncmax); in nilfs_btree_find_near()
1026 static __u64 nilfs_btree_find_target_v(const struct nilfs_bmap *btree, in nilfs_btree_find_target_v() argument
1032 ptr = nilfs_bmap_find_target_seq(btree, key); in nilfs_btree_find_target_v()
1037 ptr = nilfs_btree_find_near(btree, path); in nilfs_btree_find_target_v()
1043 return nilfs_bmap_find_target_in_group(btree); in nilfs_btree_find_target_v()
1046 static int nilfs_btree_prepare_insert(struct nilfs_bmap *btree, in nilfs_btree_prepare_insert() argument
1061 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_prepare_insert()
1063 nilfs_btree_find_target_v(btree, path, key); in nilfs_btree_prepare_insert()
1064 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_prepare_insert()
1067 ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1071 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_prepare_insert()
1074 level < nilfs_btree_height(btree) - 1; in nilfs_btree_prepare_insert()
1083 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_prepare_insert()
1090 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_insert()
1108 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_insert()
1125 ret = nilfs_bmap_prepare_alloc_ptr(btree, in nilfs_btree_prepare_insert()
1129 ret = nilfs_btree_get_new_block(btree, in nilfs_btree_prepare_insert()
1144 node = nilfs_btree_get_root(btree); in nilfs_btree_prepare_insert()
1154 ret = nilfs_bmap_prepare_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1157 ret = nilfs_btree_get_new_block(btree, path[level].bp_newreq.bpr_ptr, in nilfs_btree_prepare_insert()
1180 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1184 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1188 nilfs_bmap_abort_alloc_ptr(btree, &path[level].bp_newreq, dat); in nilfs_btree_prepare_insert()
1195 static void nilfs_btree_commit_insert(struct nilfs_bmap *btree, in nilfs_btree_commit_insert() argument
1204 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_commit_insert()
1205 nilfs_bmap_set_target_v(btree, key, ptr); in nilfs_btree_commit_insert()
1206 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_commit_insert()
1210 nilfs_bmap_commit_alloc_ptr(btree, in nilfs_btree_commit_insert()
1212 path[level].bp_op(btree, path, level, &key, &ptr); in nilfs_btree_commit_insert()
1215 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_insert()
1216 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_insert()
1219 static int nilfs_btree_insert(struct nilfs_bmap *btree, __u64 key, __u64 ptr) in nilfs_btree_insert() argument
1229 ret = nilfs_btree_do_lookup(btree, path, key, NULL, in nilfs_btree_insert()
1237 ret = nilfs_btree_prepare_insert(btree, path, &level, key, ptr, &stats); in nilfs_btree_insert()
1240 nilfs_btree_commit_insert(btree, path, level, key, ptr); in nilfs_btree_insert()
1241 nilfs_inode_add_blocks(btree->b_inode, stats.bs_nblocks); in nilfs_btree_insert()
1248 static void nilfs_btree_do_delete(struct nilfs_bmap *btree, in nilfs_btree_do_delete() argument
1255 if (level < nilfs_btree_height(btree) - 1) { in nilfs_btree_do_delete()
1257 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_do_delete()
1263 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_do_delete()
1266 node = nilfs_btree_get_root(btree); in nilfs_btree_do_delete()
1273 static void nilfs_btree_borrow_left(struct nilfs_bmap *btree, in nilfs_btree_borrow_left() argument
1280 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_borrow_left()
1286 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_borrow_left()
1297 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_borrow_left()
1305 static void nilfs_btree_borrow_right(struct nilfs_bmap *btree, in nilfs_btree_borrow_right() argument
1312 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_borrow_right()
1318 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_borrow_right()
1330 nilfs_btree_promote_key(btree, path, level + 1, in nilfs_btree_borrow_right()
1338 static void nilfs_btree_concat_left(struct nilfs_bmap *btree, in nilfs_btree_concat_left() argument
1345 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_concat_left()
1349 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_concat_left()
1364 static void nilfs_btree_concat_right(struct nilfs_bmap *btree, in nilfs_btree_concat_right() argument
1371 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_concat_right()
1375 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_concat_right()
1389 static void nilfs_btree_shrink(struct nilfs_bmap *btree, in nilfs_btree_shrink() argument
1396 nilfs_btree_do_delete(btree, path, level, keyp, ptrp); in nilfs_btree_shrink()
1398 root = nilfs_btree_get_root(btree); in nilfs_btree_shrink()
1400 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_shrink()
1413 static void nilfs_btree_nop(struct nilfs_bmap *btree, in nilfs_btree_nop() argument
1419 static int nilfs_btree_prepare_delete(struct nilfs_bmap *btree, in nilfs_btree_prepare_delete() argument
1432 ncmin = NILFS_BTREE_NODE_NCHILDREN_MIN(nilfs_btree_node_size(btree)); in nilfs_btree_prepare_delete()
1433 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_prepare_delete()
1436 level < nilfs_btree_height(btree) - 1; in nilfs_btree_prepare_delete()
1441 ret = nilfs_bmap_prepare_end_ptr(btree, in nilfs_btree_prepare_delete()
1452 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_prepare_delete()
1460 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_delete()
1480 ret = nilfs_btree_get_block(btree, sibptr, &bh); in nilfs_btree_prepare_delete()
1506 WARN_ON(level != nilfs_btree_height(btree) - 2); in nilfs_btree_prepare_delete()
1527 node = nilfs_btree_get_root(btree); in nilfs_btree_prepare_delete()
1532 ret = nilfs_bmap_prepare_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_prepare_delete()
1543 nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_prepare_delete()
1547 nilfs_bmap_abort_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_prepare_delete()
1554 static void nilfs_btree_commit_delete(struct nilfs_bmap *btree, in nilfs_btree_commit_delete() argument
1561 nilfs_bmap_commit_end_ptr(btree, &path[level].bp_oldreq, dat); in nilfs_btree_commit_delete()
1562 path[level].bp_op(btree, path, level, NULL, NULL); in nilfs_btree_commit_delete()
1565 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_delete()
1566 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_delete()
1569 static int nilfs_btree_delete(struct nilfs_bmap *btree, __u64 key) in nilfs_btree_delete() argument
1581 ret = nilfs_btree_do_lookup(btree, path, key, NULL, in nilfs_btree_delete()
1587 dat = NILFS_BMAP_USE_VBN(btree) ? nilfs_bmap_get_dat(btree) : NULL; in nilfs_btree_delete()
1589 ret = nilfs_btree_prepare_delete(btree, path, &level, &stats, dat); in nilfs_btree_delete()
1592 nilfs_btree_commit_delete(btree, path, level, dat); in nilfs_btree_delete()
1593 nilfs_inode_sub_blocks(btree->b_inode, stats.bs_nblocks); in nilfs_btree_delete()
1600 static int nilfs_btree_seek_key(const struct nilfs_bmap *btree, __u64 start, in nilfs_btree_seek_key() argument
1611 ret = nilfs_btree_do_lookup(btree, path, start, NULL, minlevel, 0); in nilfs_btree_seek_key()
1615 ret = nilfs_btree_get_next_key(btree, path, minlevel, keyp); in nilfs_btree_seek_key()
1621 static int nilfs_btree_last_key(const struct nilfs_bmap *btree, __u64 *keyp) in nilfs_btree_last_key() argument
1630 ret = nilfs_btree_do_lookup_last(btree, path, keyp, NULL); in nilfs_btree_last_key()
1637 static int nilfs_btree_check_delete(struct nilfs_bmap *btree, __u64 key) in nilfs_btree_check_delete() argument
1645 root = nilfs_btree_get_root(btree); in nilfs_btree_check_delete()
1646 switch (nilfs_btree_height(btree)) { in nilfs_btree_check_delete()
1657 ret = nilfs_btree_get_block(btree, ptr, &bh); in nilfs_btree_check_delete()
1676 static int nilfs_btree_gather_data(struct nilfs_bmap *btree, in nilfs_btree_gather_data() argument
1686 root = nilfs_btree_get_root(btree); in nilfs_btree_gather_data()
1687 switch (nilfs_btree_height(btree)) { in nilfs_btree_gather_data()
1698 ret = nilfs_btree_get_block(btree, ptr, &bh); in nilfs_btree_gather_data()
1702 ncmax = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_gather_data()
1726 nilfs_btree_prepare_convert_and_insert(struct nilfs_bmap *btree, __u64 key, in nilfs_btree_prepare_convert_and_insert() argument
1740 if (NILFS_BMAP_USE_VBN(btree)) { in nilfs_btree_prepare_convert_and_insert()
1741 dreq->bpr_ptr = nilfs_btree_find_target_v(btree, NULL, key); in nilfs_btree_prepare_convert_and_insert()
1742 dat = nilfs_bmap_get_dat(btree); in nilfs_btree_prepare_convert_and_insert()
1745 ret = nilfs_bmap_prepare_alloc_ptr(btree, dreq, dat); in nilfs_btree_prepare_convert_and_insert()
1753 ret = nilfs_bmap_prepare_alloc_ptr(btree, nreq, dat); in nilfs_btree_prepare_convert_and_insert()
1757 ret = nilfs_btree_get_new_block(btree, nreq->bpr_ptr, &bh); in nilfs_btree_prepare_convert_and_insert()
1770 nilfs_bmap_abort_alloc_ptr(btree, nreq, dat); in nilfs_btree_prepare_convert_and_insert()
1772 nilfs_bmap_abort_alloc_ptr(btree, dreq, dat); in nilfs_btree_prepare_convert_and_insert()
1779 nilfs_btree_commit_convert_and_insert(struct nilfs_bmap *btree, in nilfs_btree_commit_convert_and_insert() argument
1793 if (btree->b_ops->bop_clear != NULL) in nilfs_btree_commit_convert_and_insert()
1794 btree->b_ops->bop_clear(btree); in nilfs_btree_commit_convert_and_insert()
1800 dat = NILFS_BMAP_USE_VBN(btree) ? nilfs_bmap_get_dat(btree) : NULL; in nilfs_btree_commit_convert_and_insert()
1801 __nilfs_btree_init(btree); in nilfs_btree_commit_convert_and_insert()
1803 nilfs_bmap_commit_alloc_ptr(btree, dreq, dat); in nilfs_btree_commit_convert_and_insert()
1804 nilfs_bmap_commit_alloc_ptr(btree, nreq, dat); in nilfs_btree_commit_convert_and_insert()
1808 ncblk = nilfs_btree_nchildren_per_block(btree); in nilfs_btree_commit_convert_and_insert()
1813 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_convert_and_insert()
1814 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_convert_and_insert()
1819 node = nilfs_btree_get_root(btree); in nilfs_btree_commit_convert_and_insert()
1825 nilfs_bmap_commit_alloc_ptr(btree, dreq, dat); in nilfs_btree_commit_convert_and_insert()
1828 node = nilfs_btree_get_root(btree); in nilfs_btree_commit_convert_and_insert()
1834 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_commit_convert_and_insert()
1835 nilfs_bmap_set_dirty(btree); in nilfs_btree_commit_convert_and_insert()
1838 if (NILFS_BMAP_USE_VBN(btree)) in nilfs_btree_commit_convert_and_insert()
1839 nilfs_bmap_set_target_v(btree, key, dreq->bpr_ptr); in nilfs_btree_commit_convert_and_insert()
1851 int nilfs_btree_convert_and_insert(struct nilfs_bmap *btree, in nilfs_btree_convert_and_insert() argument
1864 nilfs_btree_node_size(btree))) { in nilfs_btree_convert_and_insert()
1873 ret = nilfs_btree_prepare_convert_and_insert(btree, key, di, ni, &bh, in nilfs_btree_convert_and_insert()
1877 nilfs_btree_commit_convert_and_insert(btree, key, ptr, keys, ptrs, n, in nilfs_btree_convert_and_insert()
1879 nilfs_inode_add_blocks(btree->b_inode, stats.bs_nblocks); in nilfs_btree_convert_and_insert()
1883 static int nilfs_btree_propagate_p(struct nilfs_bmap *btree, in nilfs_btree_propagate_p() argument
1888 while ((++level < nilfs_btree_height(btree) - 1) && in nilfs_btree_propagate_p()
1895 static int nilfs_btree_prepare_update_v(struct nilfs_bmap *btree, in nilfs_btree_prepare_update_v() argument
1902 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_prepare_update_v()
1917 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_prepare_update_v()
1930 static void nilfs_btree_commit_update_v(struct nilfs_bmap *btree, in nilfs_btree_commit_update_v() argument
1939 btree->b_ptr_type == NILFS_BMAP_PTR_VS); in nilfs_btree_commit_update_v()
1943 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_commit_update_v()
1949 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_commit_update_v()
1954 static void nilfs_btree_abort_update_v(struct nilfs_bmap *btree, in nilfs_btree_abort_update_v() argument
1962 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_abort_update_v()
1966 static int nilfs_btree_prepare_propagate_v(struct nilfs_bmap *btree, in nilfs_btree_prepare_propagate_v() argument
1975 ret = nilfs_btree_prepare_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
1979 while ((++level < nilfs_btree_height(btree) - 1) && in nilfs_btree_prepare_propagate_v()
1983 ret = nilfs_btree_prepare_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
1995 nilfs_btree_abort_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
1997 nilfs_btree_abort_update_v(btree, path, level, dat); in nilfs_btree_prepare_propagate_v()
2001 static void nilfs_btree_commit_propagate_v(struct nilfs_bmap *btree, in nilfs_btree_commit_propagate_v() argument
2010 nilfs_btree_commit_update_v(btree, path, minlevel, dat); in nilfs_btree_commit_propagate_v()
2013 nilfs_btree_commit_update_v(btree, path, level, dat); in nilfs_btree_commit_propagate_v()
2016 static int nilfs_btree_propagate_v(struct nilfs_bmap *btree, in nilfs_btree_propagate_v() argument
2022 struct inode *dat = nilfs_bmap_get_dat(btree); in nilfs_btree_propagate_v()
2028 ret = nilfs_btree_prepare_propagate_v(btree, path, level, &maxlevel, in nilfs_btree_propagate_v()
2034 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_propagate_v()
2043 nilfs_btree_commit_propagate_v(btree, path, level, maxlevel, bh, dat); in nilfs_btree_propagate_v()
2051 static int nilfs_btree_propagate(struct nilfs_bmap *btree, in nilfs_btree_propagate() argument
2070 key = nilfs_bmap_data_get_key(btree, bh); in nilfs_btree_propagate()
2074 ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0); in nilfs_btree_propagate()
2077 nilfs_msg(btree->b_inode->i_sb, KERN_CRIT, in nilfs_btree_propagate()
2079 btree->b_inode->i_ino, in nilfs_btree_propagate()
2084 ret = NILFS_BMAP_USE_VBN(btree) ? in nilfs_btree_propagate()
2085 nilfs_btree_propagate_v(btree, path, level, bh) : in nilfs_btree_propagate()
2086 nilfs_btree_propagate_p(btree, path, level, bh); in nilfs_btree_propagate()
2094 static int nilfs_btree_propagate_gc(struct nilfs_bmap *btree, in nilfs_btree_propagate_gc() argument
2097 return nilfs_dat_mark_dirty(nilfs_bmap_get_dat(btree), bh->b_blocknr); in nilfs_btree_propagate_gc()
2100 static void nilfs_btree_add_dirty_buffer(struct nilfs_bmap *btree, in nilfs_btree_add_dirty_buffer() argument
2117 nilfs_msg(btree->b_inode->i_sb, KERN_WARNING, in nilfs_btree_add_dirty_buffer()
2120 btree->b_inode->i_ino, in nilfs_btree_add_dirty_buffer()
2135 static void nilfs_btree_lookup_dirty_buffers(struct nilfs_bmap *btree, in nilfs_btree_lookup_dirty_buffers() argument
2138 struct address_space *btcache = &NILFS_BMAP_I(btree)->i_btnode_cache; in nilfs_btree_lookup_dirty_buffers()
2158 nilfs_btree_add_dirty_buffer(btree, in nilfs_btree_lookup_dirty_buffers()
2172 static int nilfs_btree_assign_p(struct nilfs_bmap *btree, in nilfs_btree_assign_p() argument
2184 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_assign_p()
2192 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_assign_p()
2197 &NILFS_BMAP_I(btree)->i_btnode_cache, in nilfs_btree_assign_p()
2213 static int nilfs_btree_assign_v(struct nilfs_bmap *btree, in nilfs_btree_assign_v() argument
2221 struct inode *dat = nilfs_bmap_get_dat(btree); in nilfs_btree_assign_v()
2227 parent = nilfs_btree_get_node(btree, path, level + 1, &ncmax); in nilfs_btree_assign_v()
2244 static int nilfs_btree_assign(struct nilfs_bmap *btree, in nilfs_btree_assign() argument
2263 key = nilfs_bmap_data_get_key(btree, *bh); in nilfs_btree_assign()
2267 ret = nilfs_btree_do_lookup(btree, path, key, NULL, level + 1, 0); in nilfs_btree_assign()
2273 ret = NILFS_BMAP_USE_VBN(btree) ? in nilfs_btree_assign()
2274 nilfs_btree_assign_v(btree, path, level, bh, blocknr, binfo) : in nilfs_btree_assign()
2275 nilfs_btree_assign_p(btree, path, level, bh, blocknr, binfo); in nilfs_btree_assign()
2283 static int nilfs_btree_assign_gc(struct nilfs_bmap *btree, in nilfs_btree_assign_gc() argument
2292 ret = nilfs_dat_move(nilfs_bmap_get_dat(btree), (*bh)->b_blocknr, in nilfs_btree_assign_gc()
2301 key = nilfs_bmap_data_get_key(btree, *bh); in nilfs_btree_assign_gc()
2310 static int nilfs_btree_mark(struct nilfs_bmap *btree, __u64 key, int level) in nilfs_btree_mark() argument
2321 ret = nilfs_btree_do_lookup(btree, path, key, &ptr, level + 1, 0); in nilfs_btree_mark()
2326 ret = nilfs_btree_get_block(btree, ptr, &bh); in nilfs_btree_mark()
2335 if (!nilfs_bmap_dirty(btree)) in nilfs_btree_mark()
2336 nilfs_bmap_set_dirty(btree); in nilfs_btree_mark()