Lines Matching refs:fs_info
22 struct btrfs_fs_info *fs_info,
26 struct btrfs_fs_info *fs_info,
201 struct btrfs_fs_info *fs_info = root->fs_info; in add_root_to_dirty_list() local
207 spin_lock(&fs_info->trans_lock); in add_root_to_dirty_list()
212 &fs_info->dirty_cowonly_roots); in add_root_to_dirty_list()
215 &fs_info->dirty_cowonly_roots); in add_root_to_dirty_list()
217 spin_unlock(&fs_info->trans_lock); in add_root_to_dirty_list()
230 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_copy_root() local
237 trans->transid != fs_info->running_transaction->transid); in btrfs_copy_root()
263 write_extent_buffer_fsid(cow, fs_info->fsid); in btrfs_copy_root()
323 static inline u64 btrfs_inc_tree_mod_seq(struct btrfs_fs_info *fs_info) in btrfs_inc_tree_mod_seq() argument
325 return atomic64_inc_return(&fs_info->tree_mod_seq); in btrfs_inc_tree_mod_seq()
336 u64 btrfs_get_tree_mod_seq(struct btrfs_fs_info *fs_info, in btrfs_get_tree_mod_seq() argument
339 write_lock(&fs_info->tree_mod_log_lock); in btrfs_get_tree_mod_seq()
340 spin_lock(&fs_info->tree_mod_seq_lock); in btrfs_get_tree_mod_seq()
342 elem->seq = btrfs_inc_tree_mod_seq(fs_info); in btrfs_get_tree_mod_seq()
343 list_add_tail(&elem->list, &fs_info->tree_mod_seq_list); in btrfs_get_tree_mod_seq()
345 spin_unlock(&fs_info->tree_mod_seq_lock); in btrfs_get_tree_mod_seq()
346 write_unlock(&fs_info->tree_mod_log_lock); in btrfs_get_tree_mod_seq()
351 void btrfs_put_tree_mod_seq(struct btrfs_fs_info *fs_info, in btrfs_put_tree_mod_seq() argument
365 spin_lock(&fs_info->tree_mod_seq_lock); in btrfs_put_tree_mod_seq()
369 list_for_each_entry(cur_elem, &fs_info->tree_mod_seq_list, list) { in btrfs_put_tree_mod_seq()
376 spin_unlock(&fs_info->tree_mod_seq_lock); in btrfs_put_tree_mod_seq()
382 spin_unlock(&fs_info->tree_mod_seq_lock); in btrfs_put_tree_mod_seq()
388 write_lock(&fs_info->tree_mod_log_lock); in btrfs_put_tree_mod_seq()
389 tm_root = &fs_info->tree_mod_log; in btrfs_put_tree_mod_seq()
398 write_unlock(&fs_info->tree_mod_log_lock); in btrfs_put_tree_mod_seq()
412 __tree_mod_log_insert(struct btrfs_fs_info *fs_info, struct tree_mod_elem *tm) in __tree_mod_log_insert() argument
419 tm->seq = btrfs_inc_tree_mod_seq(fs_info); in __tree_mod_log_insert()
421 tm_root = &fs_info->tree_mod_log; in __tree_mod_log_insert()
449 static inline int tree_mod_dont_log(struct btrfs_fs_info *fs_info, in tree_mod_dont_log() argument
452 if (list_empty(&(fs_info)->tree_mod_seq_list)) in tree_mod_dont_log()
457 write_lock(&fs_info->tree_mod_log_lock); in tree_mod_dont_log()
458 if (list_empty(&(fs_info)->tree_mod_seq_list)) { in tree_mod_dont_log()
459 write_unlock(&fs_info->tree_mod_log_lock); in tree_mod_dont_log()
467 static inline int tree_mod_need_log(const struct btrfs_fs_info *fs_info, in tree_mod_need_log() argument
471 if (list_empty(&(fs_info)->tree_mod_seq_list)) in tree_mod_need_log()
508 if (!tree_mod_need_log(eb->fs_info, eb)) in tree_mod_log_insert_key()
515 if (tree_mod_dont_log(eb->fs_info, eb)) { in tree_mod_log_insert_key()
520 ret = __tree_mod_log_insert(eb->fs_info, tm); in tree_mod_log_insert_key()
521 write_unlock(&eb->fs_info->tree_mod_log_lock); in tree_mod_log_insert_key()
537 if (!tree_mod_need_log(eb->fs_info, eb)) in tree_mod_log_insert_move()
565 if (tree_mod_dont_log(eb->fs_info, eb)) in tree_mod_log_insert_move()
575 ret = __tree_mod_log_insert(eb->fs_info, tm_list[i]); in tree_mod_log_insert_move()
580 ret = __tree_mod_log_insert(eb->fs_info, tm); in tree_mod_log_insert_move()
583 write_unlock(&eb->fs_info->tree_mod_log_lock); in tree_mod_log_insert_move()
590 rb_erase(&tm_list[i]->node, &eb->fs_info->tree_mod_log); in tree_mod_log_insert_move()
594 write_unlock(&eb->fs_info->tree_mod_log_lock); in tree_mod_log_insert_move()
602 __tree_mod_log_free_eb(struct btrfs_fs_info *fs_info, in __tree_mod_log_free_eb() argument
610 ret = __tree_mod_log_insert(fs_info, tm_list[i]); in __tree_mod_log_free_eb()
614 &fs_info->tree_mod_log); in __tree_mod_log_free_eb()
625 struct btrfs_fs_info *fs_info = old_root->fs_info; in tree_mod_log_insert_root() local
632 if (!tree_mod_need_log(fs_info, NULL)) in tree_mod_log_insert_root()
665 if (tree_mod_dont_log(fs_info, NULL)) in tree_mod_log_insert_root()
669 ret = __tree_mod_log_free_eb(fs_info, tm_list, nritems); in tree_mod_log_insert_root()
671 ret = __tree_mod_log_insert(fs_info, tm); in tree_mod_log_insert_root()
673 write_unlock(&fs_info->tree_mod_log_lock); in tree_mod_log_insert_root()
692 __tree_mod_log_search(struct btrfs_fs_info *fs_info, u64 start, u64 min_seq, in __tree_mod_log_search() argument
700 read_lock(&fs_info->tree_mod_log_lock); in __tree_mod_log_search()
701 tm_root = &fs_info->tree_mod_log; in __tree_mod_log_search()
728 read_unlock(&fs_info->tree_mod_log_lock); in __tree_mod_log_search()
739 tree_mod_log_search_oldest(struct btrfs_fs_info *fs_info, u64 start, in tree_mod_log_search_oldest() argument
742 return __tree_mod_log_search(fs_info, start, min_seq, 1); in tree_mod_log_search_oldest()
751 tree_mod_log_search(struct btrfs_fs_info *fs_info, u64 start, u64 min_seq) in tree_mod_log_search() argument
753 return __tree_mod_log_search(fs_info, start, min_seq, 0); in tree_mod_log_search()
757 tree_mod_log_eb_copy(struct btrfs_fs_info *fs_info, struct extent_buffer *dst, in tree_mod_log_eb_copy() argument
767 if (!tree_mod_need_log(fs_info, NULL)) in tree_mod_log_eb_copy()
796 if (tree_mod_dont_log(fs_info, NULL)) in tree_mod_log_eb_copy()
801 ret = __tree_mod_log_insert(fs_info, tm_list_rem[i]); in tree_mod_log_eb_copy()
804 ret = __tree_mod_log_insert(fs_info, tm_list_add[i]); in tree_mod_log_eb_copy()
809 write_unlock(&fs_info->tree_mod_log_lock); in tree_mod_log_eb_copy()
817 rb_erase(&tm_list[i]->node, &fs_info->tree_mod_log); in tree_mod_log_eb_copy()
821 write_unlock(&fs_info->tree_mod_log_lock); in tree_mod_log_eb_copy()
837 if (!tree_mod_need_log(eb->fs_info, NULL)) in tree_mod_log_free_eb()
854 if (tree_mod_dont_log(eb->fs_info, eb)) in tree_mod_log_free_eb()
857 ret = __tree_mod_log_free_eb(eb->fs_info, tm_list, nritems); in tree_mod_log_free_eb()
858 write_unlock(&eb->fs_info->tree_mod_log_lock); in tree_mod_log_free_eb()
901 struct btrfs_fs_info *fs_info = root->fs_info; in update_ref_for_cow() local
926 ret = btrfs_lookup_extent_info(trans, fs_info, buf->start, in update_ref_for_cow()
933 btrfs_handle_fs_error(fs_info, ret, NULL); in update_ref_for_cow()
980 ret = btrfs_set_disk_extent_flags(trans, fs_info, in update_ref_for_cow()
1000 clean_tree_block(fs_info, buf); in update_ref_for_cow()
1025 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_cow_block() local
1039 trans->transid != fs_info->running_transaction->transid); in __btrfs_cow_block()
1072 write_extent_buffer_fsid(cow, fs_info->fsid); in __btrfs_cow_block()
1152 tm = tree_mod_log_search_oldest(eb_root->fs_info, root_logical, in __tree_mod_log_oldest_root()
1190 __tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct extent_buffer *eb, in __tree_mod_log_rewind() argument
1201 read_lock(&fs_info->tree_mod_log_lock); in __tree_mod_log_rewind()
1256 read_unlock(&fs_info->tree_mod_log_lock); in __tree_mod_log_rewind()
1268 tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct btrfs_path *path, in tree_mod_log_rewind() argument
1280 tm = tree_mod_log_search(fs_info, eb->start, time_seq); in tree_mod_log_rewind()
1289 eb_rewin = alloc_dummy_extent_buffer(fs_info, eb->start); in tree_mod_log_rewind()
1315 __tree_mod_log_rewind(fs_info, eb_rewin, time_seq, tm); in tree_mod_log_rewind()
1317 BTRFS_NODEPTRS_PER_BLOCK(fs_info)); in tree_mod_log_rewind()
1332 struct btrfs_fs_info *fs_info = root->fs_info; in get_old_root() local
1357 tm = tree_mod_log_search(fs_info, logical, time_seq); in get_old_root()
1361 old = read_tree_block(fs_info, logical, 0, level, NULL); in get_old_root()
1365 btrfs_warn(fs_info, in get_old_root()
1375 eb = alloc_dummy_extent_buffer(fs_info, logical); in get_old_root()
1395 __tree_mod_log_rewind(fs_info, eb, time_seq, tm); in get_old_root()
1398 WARN_ON(btrfs_header_nritems(eb) > BTRFS_NODEPTRS_PER_BLOCK(fs_info)); in get_old_root()
1424 if (btrfs_is_testing(root->fs_info)) in should_cow_block()
1460 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_cow_block() local
1464 if (trans->transaction != fs_info->running_transaction) in btrfs_cow_block()
1467 fs_info->running_transaction->transid); in btrfs_cow_block()
1469 if (trans->transid != fs_info->generation) in btrfs_cow_block()
1471 trans->transid, fs_info->generation); in btrfs_cow_block()
1549 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_realloc_node() local
1568 WARN_ON(trans->transaction != fs_info->running_transaction); in btrfs_realloc_node()
1569 WARN_ON(trans->transid != fs_info->generation); in btrfs_realloc_node()
1572 blocksize = fs_info->nodesize; in btrfs_realloc_node()
1608 cur = find_extent_buffer(fs_info, blocknr); in btrfs_realloc_node()
1615 cur = read_tree_block(fs_info, blocknr, gen, in btrfs_realloc_node()
1684 btrfs_err(eb->fs_info, in generic_bin_search()
1774 read_node_slot(struct btrfs_fs_info *fs_info, struct extent_buffer *parent, in read_node_slot() argument
1787 eb = read_tree_block(fs_info, btrfs_node_blockptr(parent, slot), in read_node_slot()
1807 struct btrfs_fs_info *fs_info = root->fs_info; in balance_level() local
1845 child = read_node_slot(fs_info, mid, 0); in balance_level()
1848 btrfs_handle_fs_error(fs_info, ret, NULL); in balance_level()
1870 clean_tree_block(fs_info, mid); in balance_level()
1882 BTRFS_NODEPTRS_PER_BLOCK(fs_info) / 4) in balance_level()
1885 left = read_node_slot(fs_info, parent, pslot - 1); in balance_level()
1900 right = read_node_slot(fs_info, parent, pslot + 1); in balance_level()
1918 wret = push_node_left(trans, fs_info, left, mid, 1); in balance_level()
1927 wret = push_node_left(trans, fs_info, mid, right, 1); in balance_level()
1931 clean_tree_block(fs_info, right); in balance_level()
1960 btrfs_handle_fs_error(fs_info, ret, NULL); in balance_level()
1963 wret = balance_node_right(trans, fs_info, mid, left); in balance_level()
1969 wret = push_node_left(trans, fs_info, left, mid, 1); in balance_level()
1976 clean_tree_block(fs_info, mid); in balance_level()
2036 struct btrfs_fs_info *fs_info = root->fs_info; in push_nodes_for_insert() local
2060 left = read_node_slot(fs_info, parent, pslot - 1); in push_nodes_for_insert()
2072 if (left_nr >= BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 1) { in push_nodes_for_insert()
2080 wret = push_node_left(trans, fs_info, in push_nodes_for_insert()
2113 right = read_node_slot(fs_info, parent, pslot + 1); in push_nodes_for_insert()
2127 if (right_nr >= BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 1) { in push_nodes_for_insert()
2136 wret = balance_node_right(trans, fs_info, in push_nodes_for_insert()
2175 static void reada_for_search(struct btrfs_fs_info *fs_info, in reada_for_search() argument
2199 blocksize = fs_info->nodesize; in reada_for_search()
2200 eb = find_extent_buffer(fs_info, search); in reada_for_search()
2229 readahead_tree_block(fs_info, search); in reada_for_search()
2238 static noinline void reada_for_balance(struct btrfs_fs_info *fs_info, in reada_for_balance() argument
2259 eb = find_extent_buffer(fs_info, block1); in reada_for_balance()
2272 eb = find_extent_buffer(fs_info, block2); in reada_for_balance()
2279 readahead_tree_block(fs_info, block1); in reada_for_balance()
2281 readahead_tree_block(fs_info, block2); in reada_for_balance()
2380 struct btrfs_fs_info *fs_info = root->fs_info; in read_block_for_search() local
2394 tmp = find_extent_buffer(fs_info, blocknr); in read_block_for_search()
2432 reada_for_search(fs_info, p, level, slot, key->objectid); in read_block_for_search()
2435 tmp = read_tree_block(fs_info, blocknr, gen, parent_level - 1, in read_block_for_search()
2470 struct btrfs_fs_info *fs_info = root->fs_info; in setup_nodes_for_search() local
2474 BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 3) { in setup_nodes_for_search()
2484 reada_for_balance(fs_info, p, level); in setup_nodes_for_search()
2495 BTRFS_NODEPTRS_PER_BLOCK(fs_info) / 2) { in setup_nodes_for_search()
2505 reada_for_balance(fs_info, p, level); in setup_nodes_for_search()
2601 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_search_slot_get_root() local
2612 down_read(&fs_info->commit_root_sem); in btrfs_search_slot_get_root()
2617 up_read(&fs_info->commit_root_sem); in btrfs_search_slot_get_root()
2698 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_search_slot() local
2893 btrfs_leaf_free_space(fs_info, b) < ins_len) { in btrfs_search_slot()
2944 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_search_old_slot() local
3019 b = tree_mod_log_rewind(fs_info, p, b, time_seq); in btrfs_search_old_slot()
3156 void btrfs_set_item_key_safe(struct btrfs_fs_info *fs_info, in btrfs_set_item_key_safe() argument
3190 struct btrfs_fs_info *fs_info, in push_node_left() argument
3201 push_items = BTRFS_NODEPTRS_PER_BLOCK(fs_info) - dst_nritems; in push_node_left()
3226 ret = tree_mod_log_eb_copy(fs_info, dst, src, dst_nritems, 0, in push_node_left()
3265 struct btrfs_fs_info *fs_info, in balance_node_right() argument
3280 push_items = BTRFS_NODEPTRS_PER_BLOCK(fs_info) - dst_nritems; in balance_node_right()
3302 ret = tree_mod_log_eb_copy(fs_info, dst, src, 0, in balance_node_right()
3333 struct btrfs_fs_info *fs_info = root->fs_info; in insert_new_root() local
3355 root_add_used(root, fs_info->nodesize); in insert_new_root()
3391 struct btrfs_fs_info *fs_info, struct btrfs_path *path, in insert_ptr() argument
3404 BUG_ON(nritems == BTRFS_NODEPTRS_PER_BLOCK(fs_info)); in insert_ptr()
3442 struct btrfs_fs_info *fs_info = root->fs_info; in split_node() local
3470 BTRFS_NODEPTRS_PER_BLOCK(fs_info) - 3) in split_node()
3485 root_add_used(root, fs_info->nodesize); in split_node()
3488 ret = tree_mod_log_eb_copy(fs_info, split, c, 0, mid, c_nritems - mid); in split_node()
3504 insert_ptr(trans, fs_info, path, &disk_key, split->start, in split_node()
3552 noinline int btrfs_leaf_free_space(struct btrfs_fs_info *fs_info, in btrfs_leaf_free_space() argument
3558 ret = BTRFS_LEAF_DATA_SIZE(fs_info) - leaf_space_used(leaf, 0, nritems); in btrfs_leaf_free_space()
3560 btrfs_crit(fs_info, in btrfs_leaf_free_space()
3563 (unsigned long) BTRFS_LEAF_DATA_SIZE(fs_info), in btrfs_leaf_free_space()
3573 static noinline int __push_leaf_right(struct btrfs_fs_info *fs_info, in __push_leaf_right() argument
3613 int space = btrfs_leaf_free_space(fs_info, left); in __push_leaf_right()
3642 push_space -= leaf_data_end(fs_info, left); in __push_leaf_right()
3645 data_end = leaf_data_end(fs_info, right); in __push_leaf_right()
3649 BTRFS_LEAF_DATA_SIZE(fs_info) - data_end); in __push_leaf_right()
3653 BTRFS_LEAF_DATA_SIZE(fs_info) - push_space, in __push_leaf_right()
3654 BTRFS_LEAF_DATA_OFFSET + leaf_data_end(fs_info, left), in __push_leaf_right()
3669 push_space = BTRFS_LEAF_DATA_SIZE(fs_info); in __push_leaf_right()
3682 clean_tree_block(fs_info, left); in __push_leaf_right()
3694 clean_tree_block(fs_info, path->nodes[0]); in __push_leaf_right()
3726 struct btrfs_fs_info *fs_info = root->fs_info; in push_leaf_right() local
3745 right = read_node_slot(fs_info, upper, slot + 1); in push_leaf_right()
3756 free_space = btrfs_leaf_free_space(fs_info, right); in push_leaf_right()
3766 free_space = btrfs_leaf_free_space(fs_info, right); in push_leaf_right()
3787 return __push_leaf_right(fs_info, path, min_data_size, empty, in push_leaf_right()
3803 static noinline int __push_leaf_left(struct btrfs_fs_info *fs_info, in __push_leaf_left() argument
3836 int space = btrfs_leaf_free_space(fs_info, right); in __push_leaf_left()
3865 push_space = BTRFS_LEAF_DATA_SIZE(fs_info) - in __push_leaf_left()
3869 leaf_data_end(fs_info, left) - push_space, in __push_leaf_left()
3884 ioff - (BTRFS_LEAF_DATA_SIZE(fs_info) - old_left_item_size), in __push_leaf_left()
3896 leaf_data_end(fs_info, right); in __push_leaf_left()
3898 BTRFS_LEAF_DATA_SIZE(fs_info) - push_space, in __push_leaf_left()
3900 leaf_data_end(fs_info, right), push_space); in __push_leaf_left()
3909 push_space = BTRFS_LEAF_DATA_SIZE(fs_info); in __push_leaf_left()
3922 clean_tree_block(fs_info, right); in __push_leaf_left()
3959 struct btrfs_fs_info *fs_info = root->fs_info; in push_leaf_left() local
3979 left = read_node_slot(fs_info, path->nodes[1], slot - 1); in push_leaf_left()
3990 free_space = btrfs_leaf_free_space(fs_info, left); in push_leaf_left()
4006 free_space = btrfs_leaf_free_space(fs_info, left); in push_leaf_left()
4012 return __push_leaf_left(fs_info, path, min_data_size, in push_leaf_left()
4026 struct btrfs_fs_info *fs_info, in copy_for_split() argument
4042 data_copy_size = btrfs_item_end_nr(l, mid) - leaf_data_end(fs_info, l); in copy_for_split()
4049 BTRFS_LEAF_DATA_OFFSET + BTRFS_LEAF_DATA_SIZE(fs_info) - in copy_for_split()
4051 leaf_data_end(fs_info, l), data_copy_size); in copy_for_split()
4053 rt_data_off = BTRFS_LEAF_DATA_SIZE(fs_info) - btrfs_item_end_nr(l, mid); in copy_for_split()
4066 insert_ptr(trans, fs_info, path, &disk_key, right->start, in copy_for_split()
4102 struct btrfs_fs_info *fs_info = root->fs_info; in push_for_double_split() local
4111 space_needed -= btrfs_leaf_free_space(fs_info, path->nodes[0]); in push_for_double_split()
4132 if (btrfs_leaf_free_space(fs_info, path->nodes[0]) >= data_size) in push_for_double_split()
4139 space_needed -= btrfs_leaf_free_space(fs_info, path->nodes[0]); in push_for_double_split()
4170 struct btrfs_fs_info *fs_info = root->fs_info; in split_leaf() local
4180 sizeof(struct btrfs_item) > BTRFS_LEAF_DATA_SIZE(fs_info)) in split_leaf()
4188 space_needed -= btrfs_leaf_free_space(fs_info, l); in split_leaf()
4197 space_needed -= btrfs_leaf_free_space(fs_info, in split_leaf()
4207 if (btrfs_leaf_free_space(fs_info, l) >= data_size) in split_leaf()
4226 BTRFS_LEAF_DATA_SIZE(fs_info)) { in split_leaf()
4233 data_size > BTRFS_LEAF_DATA_SIZE(fs_info)) { in split_leaf()
4242 BTRFS_LEAF_DATA_SIZE(fs_info)) { in split_leaf()
4251 data_size > BTRFS_LEAF_DATA_SIZE(fs_info)) { in split_leaf()
4270 root_add_used(root, fs_info->nodesize); in split_leaf()
4275 insert_ptr(trans, fs_info, path, &disk_key, in split_leaf()
4284 insert_ptr(trans, fs_info, path, &disk_key, in split_leaf()
4301 copy_for_split(trans, fs_info, path, l, right, slot, mid, nritems); in split_leaf()
4314 if (btrfs_leaf_free_space(fs_info, path->nodes[0]) >= data_size) in split_leaf()
4323 struct btrfs_fs_info *fs_info = root->fs_info; in setup_leaf_for_split() local
4337 if (btrfs_leaf_free_space(fs_info, leaf) >= ins_len) in setup_leaf_for_split()
4364 if (btrfs_leaf_free_space(fs_info, path->nodes[0]) >= ins_len) in setup_leaf_for_split()
4387 static noinline int split_item(struct btrfs_fs_info *fs_info, in split_item() argument
4403 BUG_ON(btrfs_leaf_free_space(fs_info, leaf) < sizeof(struct btrfs_item)); in split_item()
4452 BUG_ON(btrfs_leaf_free_space(fs_info, leaf) < 0); in split_item()
4484 ret = split_item(root->fs_info, path, new_key, split_offset); in btrfs_split_item()
4530 void btrfs_truncate_item(struct btrfs_fs_info *fs_info, in btrfs_truncate_item() argument
4554 data_end = leaf_data_end(fs_info, leaf); in btrfs_truncate_item()
4620 if (btrfs_leaf_free_space(fs_info, leaf) < 0) { in btrfs_truncate_item()
4629 void btrfs_extend_item(struct btrfs_fs_info *fs_info, struct btrfs_path *path, in btrfs_extend_item() argument
4647 data_end = leaf_data_end(fs_info, leaf); in btrfs_extend_item()
4649 if (btrfs_leaf_free_space(fs_info, leaf) < data_size) { in btrfs_extend_item()
4659 btrfs_crit(fs_info, "slot %d too large, nritems %d", in btrfs_extend_item()
4688 if (btrfs_leaf_free_space(fs_info, leaf) < 0) { in btrfs_extend_item()
4703 struct btrfs_fs_info *fs_info = root->fs_info; in setup_items_for_insert() local
4725 data_end = leaf_data_end(fs_info, leaf); in setup_items_for_insert()
4727 if (btrfs_leaf_free_space(fs_info, leaf) < total_size) { in setup_items_for_insert()
4729 btrfs_crit(fs_info, "not enough freespace need %u have %d", in setup_items_for_insert()
4730 total_size, btrfs_leaf_free_space(fs_info, leaf)); in setup_items_for_insert()
4739 btrfs_crit(fs_info, "slot %d old_data %d data_end %d", in setup_items_for_insert()
4781 if (btrfs_leaf_free_space(fs_info, leaf) < 0) { in setup_items_for_insert()
4931 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_del_items() local
4953 int data_end = leaf_data_end(fs_info, leaf); in btrfs_del_items()
4983 clean_tree_block(fs_info, leaf); in btrfs_del_items()
4996 if (used < BTRFS_LEAF_DATA_SIZE(fs_info) / 3) { in btrfs_del_items()
5113 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_search_forward() local
5190 cur = read_node_slot(fs_info, cur, slot); in btrfs_search_forward()
5213 static int tree_move_down(struct btrfs_fs_info *fs_info, in tree_move_down() argument
5220 eb = read_node_slot(fs_info, path->nodes[*level], path->slots[*level]); in tree_move_down()
5260 static int tree_advance(struct btrfs_fs_info *fs_info, in tree_advance() argument
5271 ret = tree_move_down(fs_info, path, level); in tree_advance()
5329 struct btrfs_fs_info *fs_info = left_root->fs_info; in btrfs_compare_trees() local
5361 tmp_buf = kvmalloc(fs_info->nodesize, GFP_KERNEL); in btrfs_compare_trees()
5408 down_read(&fs_info->commit_root_sem); in btrfs_compare_trees()
5414 up_read(&fs_info->commit_root_sem); in btrfs_compare_trees()
5425 up_read(&fs_info->commit_root_sem); in btrfs_compare_trees()
5430 up_read(&fs_info->commit_root_sem); in btrfs_compare_trees()
5450 ret = tree_advance(fs_info, left_path, &left_level, in btrfs_compare_trees()
5461 ret = tree_advance(fs_info, right_path, &right_level, in btrfs_compare_trees()