Lines Matching refs:root

77 	struct btrfs_root *root;  member
124 u64 root, void *warn_ctx) in data_reloc_print_warning_inode() argument
137 local_root = btrfs_get_fs_root(fs_info, root, true); in data_reloc_print_warning_inode()
173 warn->logical, warn->mirror_num, root, inum, offset); in data_reloc_print_warning_inode()
187 warn->logical, warn->mirror_num, root, inum, offset, in data_reloc_print_warning_inode()
199 warn->logical, warn->mirror_num, root, inum, offset, ret); in data_reloc_print_warning_inode()
215 struct btrfs_fs_info *fs_info = inode->root->fs_info; in print_data_reloc_error()
234 btrfs_root_id(inode->root), btrfs_ino(inode), file_off, in print_data_reloc_error()
244 btrfs_root_id(inode->root), in print_data_reloc_error()
307 struct btrfs_root *root = inode->root; in btrfs_print_data_csum_error() local
308 const u32 csum_size = root->fs_info->csum_size; in btrfs_print_data_csum_error()
311 if (btrfs_is_data_reloc_root(root)) in btrfs_print_data_csum_error()
316 if (btrfs_root_id(root) >= BTRFS_LAST_FREE_OBJECTID) { in btrfs_print_data_csum_error()
317 btrfs_warn_rl(root->fs_info, in btrfs_print_data_csum_error()
319 btrfs_root_id(root), btrfs_ino(inode), in btrfs_print_data_csum_error()
325 btrfs_warn_rl(root->fs_info, in btrfs_print_data_csum_error()
327 btrfs_root_id(root), btrfs_ino(inode), in btrfs_print_data_csum_error()
415 btrfs_folio_clamp_clear_ordered(inode->root->fs_info, folio, in btrfs_cleanup_ordered_extents()
460 struct btrfs_root *root = inode->root; in insert_inline_extent() local
498 ret = btrfs_insert_empty_item(trans, root, path, &key, in insert_inline_extent()
538 ALIGN(size, root->fs_info->sectorsize)); in insert_inline_extent()
564 struct btrfs_fs_info *fs_info = inode->root->fs_info; in can_cow_file_range_inline()
609 struct btrfs_root *root = inode->root; in __cow_file_range_inline() local
610 struct btrfs_fs_info *fs_info = root->fs_info; in __cow_file_range_inline()
620 trans = btrfs_join_transaction(root); in __cow_file_range_inline()
633 ret = btrfs_drop_extents(trans, root, inode, &drop_args); in __cow_file_range_inline()
779 struct btrfs_fs_info *fs_info = inode->root->fs_info; in inode_need_compress()
827 btrfs_folio_clamp_clear_dirty(inode->root->fs_info, folio, start, in extent_range_clear_dirty_for_io()
852 struct btrfs_fs_info *fs_info = inode->root->fs_info; in compress_file_range()
1075 btrfs_folio_end_lock(inode->root->fs_info, locked_folio, in submit_uncompressed_range()
1077 btrfs_err_rl(inode->root->fs_info, in submit_uncompressed_range()
1079 __func__, btrfs_root_id(inode->root), in submit_uncompressed_range()
1090 struct btrfs_root *root = inode->root; in submit_one_async_extent() local
1091 struct btrfs_fs_info *fs_info = root->fs_info; in submit_one_async_extent()
1127 ret = btrfs_reserve_extent(root, async_extent->ram_size, in submit_one_async_extent()
1202 btrfs_root_id(root), btrfs_ino(inode), start, in submit_one_async_extent()
1269 struct btrfs_root *root = inode->root; in cow_file_range() local
1270 struct btrfs_fs_info *fs_info = root->fs_info; in cow_file_range()
1337 if (btrfs_is_data_reloc_root(root)) in cow_file_range()
1346 ret = btrfs_reserve_extent(root, num_bytes, num_bytes, in cow_file_range()
1363 wait_on_bit_io(&inode->root->fs_info->flags, in cow_file_range()
1416 if (btrfs_is_data_reloc_root(root)) { in cow_file_range()
1536 __func__, btrfs_root_id(inode->root), in cow_file_range()
1591 struct btrfs_fs_info *fs_info = inode->root->fs_info; in run_delalloc_compressed()
1706 const bool is_reloc_ino = btrfs_is_data_reloc_root(inode->root); in fallback_to_cow()
1751 struct btrfs_fs_info *fs_info = inode->root->fs_info; in fallback_to_cow()
1815 struct btrfs_root *root = inode->root; in can_nocow_file_extent() local
1841 btrfs_root_last_snapshot(&root->root_item)) in can_nocow_file_extent()
1888 atomic_read(&root->snapshot_force_cow)) in can_nocow_file_extent()
1900 csum_root = btrfs_csum_root(root->fs_info, io_start); in can_nocow_file_extent()
1929 struct btrfs_fs_info *fs_info = inode->root->fs_info; in cleanup_dirty_folios()
1998 if (btrfs_is_data_reloc_root(inode->root)) in nocow_one_range()
2033 struct btrfs_fs_info *fs_info = inode->root->fs_info; in run_delalloc_nocow()
2034 struct btrfs_root *root = inode->root; in run_delalloc_nocow() local
2053 ASSERT(!btrfs_is_zoned(fs_info) || btrfs_is_data_reloc_root(root)); in run_delalloc_nocow()
2073 ret = btrfs_lookup_file_extent(NULL, root, path, ino, in run_delalloc_nocow()
2096 ret = btrfs_next_leaf(root, path); in run_delalloc_nocow()
2306 __func__, btrfs_root_id(inode->root), in run_delalloc_nocow()
2329 const bool zoned = btrfs_is_zoned(inode->root->fs_info); in btrfs_run_delalloc_range()
2360 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_split_delalloc_extent()
2399 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_merge_delalloc_extent()
2454 struct btrfs_root *root = inode->root; in btrfs_add_delalloc_inode() local
2455 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_add_delalloc_inode()
2457 spin_lock(&root->delalloc_lock); in btrfs_add_delalloc_inode()
2459 list_add_tail(&inode->delalloc_inodes, &root->delalloc_inodes); in btrfs_add_delalloc_inode()
2460 root->nr_delalloc_inodes++; in btrfs_add_delalloc_inode()
2461 if (root->nr_delalloc_inodes == 1) { in btrfs_add_delalloc_inode()
2463 ASSERT(list_empty(&root->delalloc_root)); in btrfs_add_delalloc_inode()
2464 list_add_tail(&root->delalloc_root, &fs_info->delalloc_roots); in btrfs_add_delalloc_inode()
2467 spin_unlock(&root->delalloc_lock); in btrfs_add_delalloc_inode()
2472 struct btrfs_root *root = inode->root; in btrfs_del_delalloc_inode() local
2473 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_del_delalloc_inode()
2475 lockdep_assert_held(&root->delalloc_lock); in btrfs_del_delalloc_inode()
2485 root->nr_delalloc_inodes--; in btrfs_del_delalloc_inode()
2486 if (!root->nr_delalloc_inodes) { in btrfs_del_delalloc_inode()
2487 ASSERT(list_empty(&root->delalloc_inodes)); in btrfs_del_delalloc_inode()
2489 ASSERT(!list_empty(&root->delalloc_root)); in btrfs_del_delalloc_inode()
2490 list_del_init(&root->delalloc_root); in btrfs_del_delalloc_inode()
2503 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_set_delalloc_extent()
2561 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_clear_delalloc_extent()
2579 struct btrfs_root *root = inode->root; in btrfs_clear_delalloc_extent() local
2592 root != fs_info->tree_root) in btrfs_clear_delalloc_extent()
2599 if (!btrfs_is_data_reloc_root(root) && in btrfs_clear_delalloc_extent()
2619 spin_lock(&root->delalloc_lock); in btrfs_clear_delalloc_extent()
2621 spin_unlock(&root->delalloc_lock); in btrfs_clear_delalloc_extent()
2742 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_writepage_fixup_worker()
2888 btrfs_root_id(BTRFS_I(inode)->root), in btrfs_writepage_cow_fixup()
2932 struct btrfs_root *root = inode->root; in insert_reserved_file_extent() local
2933 const u64 sectorsize = root->fs_info->sectorsize; in insert_reserved_file_extent()
2963 ret = btrfs_drop_extents(trans, root, inode, &drop_args); in insert_reserved_file_extent()
2972 ret = btrfs_insert_empty_item(trans, root, path, &ins, in insert_reserved_file_extent()
3012 ret = btrfs_alloc_reserved_file_extent(trans, root, btrfs_ino(inode), in insert_reserved_file_extent()
3078 struct btrfs_root *root = inode->root; in btrfs_finish_one_ordered() local
3079 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_finish_one_ordered()
3138 trans = btrfs_join_transaction_spacecache(root); in btrfs_finish_one_ordered()
3140 trans = btrfs_join_transaction(root); in btrfs_finish_one_ordered()
3184 BUG_ON(root == fs_info->tree_root); in btrfs_finish_one_ordered()
3301 btrfs_qgroup_free_refroot(fs_info, btrfs_root_id(inode->root), in btrfs_finish_one_ordered()
3323 if (btrfs_is_zoned(ordered->inode->root->fs_info) && in btrfs_finish_ordered_io()
3366 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_data_csum_ok()
3378 if (btrfs_is_data_reloc_root(inode->root) && in btrfs_data_csum_ok()
3418 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_add_delayed_iput()
3515 ret = btrfs_insert_orphan_item(trans, inode->root, btrfs_ino(inode)); in btrfs_orphan_add()
3531 return btrfs_del_orphan_item(trans, inode->root, btrfs_ino(inode)); in btrfs_orphan_del()
3538 int btrfs_orphan_cleanup(struct btrfs_root *root) in btrfs_orphan_cleanup() argument
3540 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_orphan_cleanup()
3548 if (test_and_set_bit(BTRFS_ROOT_ORPHAN_CLEANUP, &root->state)) in btrfs_orphan_cleanup()
3565 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_orphan_cleanup()
3619 inode = btrfs_iget(last_objectid, root); in btrfs_orphan_cleanup()
3627 if (!inode && root == fs_info->tree_root) { in btrfs_orphan_cleanup()
3696 trans = btrfs_start_transaction(root, 1); in btrfs_orphan_cleanup()
3703 ret = btrfs_del_orphan_item(trans, root, in btrfs_orphan_cleanup()
3719 if (test_bit(BTRFS_ROOT_ORPHAN_ITEM_INSERTED, &root->state)) { in btrfs_orphan_cleanup()
3720 trans = btrfs_join_transaction(root); in btrfs_orphan_cleanup()
3814 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_init_file_extent_tree()
3839 struct btrfs_root *root = inode->root; in btrfs_add_inode_to_root() local
3848 ret = xa_reserve(&root->inodes, ino, GFP_NOFS); in btrfs_add_inode_to_root()
3853 existing = xa_store(&root->inodes, ino, inode, GFP_ATOMIC); in btrfs_add_inode_to_root()
3875 struct btrfs_root *root = inode->root; in btrfs_read_locked_inode() local
3876 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_read_locked_inode()
3900 ret = btrfs_lookup_inode(NULL, root, path, &location, 0); in btrfs_read_locked_inode()
4039 btrfs_ino(inode), btrfs_root_id(root), ret); in btrfs_read_locked_inode()
4134 ret = btrfs_lookup_inode(trans, inode->root, path, &key, 1); in btrfs_update_inode_item()
4156 struct btrfs_root *root = inode->root; in btrfs_update_inode() local
4157 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_update_inode()
4168 && !btrfs_is_data_reloc_root(root) in btrfs_update_inode()
4170 btrfs_update_root_times(trans, root); in btrfs_update_inode()
4202 if (test_bit(BTRFS_FS_LOG_RECOVERING, &dir->root->fs_info->flags)) in update_time_after_link_or_unlink()
4220 struct btrfs_root *root = dir->root; in __btrfs_unlink_inode() local
4221 struct btrfs_fs_info *fs_info = root->fs_info; in __btrfs_unlink_inode()
4233 di = btrfs_lookup_dir_item(trans, root, path, dir_ino, name, -1); in __btrfs_unlink_inode()
4238 ret = btrfs_delete_one_dir_name(trans, root, path, di); in __btrfs_unlink_inode()
4265 ret = btrfs_del_inode_ref(trans, root, name, ino, dir_ino, &index); in __btrfs_unlink_inode()
4269 name->len, name->name, btrfs_root_id(root), ino, dir_ino); in __btrfs_unlink_inode()
4290 btrfs_del_inode_ref_in_log(trans, root, name, inode, dir_ino); in __btrfs_unlink_inode()
4291 btrfs_del_dir_entries_in_log(trans, root, name, dir, index); in __btrfs_unlink_inode()
4338 struct btrfs_root *root = dir->root; in __unlink_start_trans() local
4340 return btrfs_start_transaction_fallback_global_rsv(root, in __unlink_start_trans()
4379 btrfs_btree_balance_dirty(BTRFS_I(dir)->root->fs_info); in btrfs_unlink()
4388 struct btrfs_root *root = dir->root; in btrfs_unlink_subvol() local
4407 objectid = btrfs_root_id(inode->root); in btrfs_unlink_subvol()
4422 di = btrfs_lookup_dir_item(trans, root, path, dir_ino, in btrfs_unlink_subvol()
4432 ret = btrfs_delete_one_dir_name(trans, root, path, di); in btrfs_unlink_subvol()
4449 di = btrfs_search_dir_index_item(root, path, dir_ino, &fname.disk_name); in btrfs_unlink_subvol()
4462 btrfs_root_id(root), dir_ino, in btrfs_unlink_subvol()
4492 static noinline int may_destroy_subvol(struct btrfs_root *root) in may_destroy_subvol() argument
4494 struct btrfs_fs_info *fs_info = root->fs_info; in may_destroy_subvol()
4512 if (key.objectid == btrfs_root_id(root)) { in may_destroy_subvol()
4522 key.objectid = btrfs_root_id(root); in may_destroy_subvol()
4541 if (key.objectid == btrfs_root_id(root) && key.type == BTRFS_ROOT_REF_KEY) in may_destroy_subvol()
4549 static void btrfs_prune_dentries(struct btrfs_root *root) in btrfs_prune_dentries() argument
4551 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_prune_dentries()
4556 WARN_ON(btrfs_root_refs(&root->root_item) != 0); in btrfs_prune_dentries()
4558 inode = btrfs_find_first_inode(root, min_ino); in btrfs_prune_dentries()
4570 inode = btrfs_find_first_inode(root, min_ino); in btrfs_prune_dentries()
4576 struct btrfs_root *root = dir->root; in btrfs_delete_subvolume() local
4577 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_delete_subvolume()
4579 struct btrfs_root *dest = BTRFS_I(inode)->root; in btrfs_delete_subvolume()
4606 btrfs_root_id(root)); in btrfs_delete_subvolume()
4625 ret = btrfs_subvolume_reserve_metadata(root, &block_rsv, 5, true); in btrfs_delete_subvolume()
4630 trans = btrfs_start_transaction(root, 0); in btrfs_delete_subvolume()
4635 btrfs_qgroup_convert_reserved_meta(root, qgroup_reserved); in btrfs_delete_subvolume()
4696 btrfs_qgroup_free_meta_prealloc(root, qgroup_reserved); in btrfs_delete_subvolume()
4720 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_rmdir()
4862 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_truncate_block()
5055 struct btrfs_root *root = inode->root; in maybe_insert_hole() local
5056 struct btrfs_fs_info *fs_info = root->fs_info; in maybe_insert_hole()
5075 trans = btrfs_start_transaction(root, 3); in maybe_insert_hole()
5083 ret = btrfs_drop_extents(trans, root, inode, &drop_args); in maybe_insert_hole()
5090 ret = btrfs_insert_hole_extent(trans, root, btrfs_ino(inode), offset, len); in maybe_insert_hole()
5109 struct btrfs_root *root = inode->root; in btrfs_cont_expand() local
5110 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_cont_expand()
5197 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_setsize() local
5226 btrfs_drew_write_lock(&root->snapshot_lock); in btrfs_setsize()
5229 btrfs_drew_write_unlock(&root->snapshot_lock); in btrfs_setsize()
5233 trans = btrfs_start_transaction(root, 1); in btrfs_setsize()
5235 btrfs_drew_write_unlock(&root->snapshot_lock); in btrfs_setsize()
5243 btrfs_drew_write_unlock(&root->snapshot_lock); in btrfs_setsize()
5293 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_setattr() local
5296 if (btrfs_root_readonly(root)) in btrfs_setattr()
5399 static struct btrfs_trans_handle *evict_refill_and_join(struct btrfs_root *root, in evict_refill_and_join() argument
5402 struct btrfs_fs_info *fs_info = root->fs_info; in evict_refill_and_join()
5434 trans = btrfs_join_transaction(root); in evict_refill_and_join()
5451 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_evict_inode() local
5457 if (!root) { in btrfs_evict_inode()
5467 ((btrfs_root_refs(&root->root_item) != 0 && in btrfs_evict_inode()
5468 btrfs_root_id(root) != BTRFS_ROOT_TREE_OBJECTID) || in btrfs_evict_inode()
5479 BUG_ON(btrfs_root_refs(&root->root_item) != 0 && in btrfs_evict_inode()
5480 btrfs_root_id(root) != BTRFS_ROOT_TREE_OBJECTID); in btrfs_evict_inode()
5514 trans = evict_refill_and_join(root, &rsv); in btrfs_evict_inode()
5520 ret = btrfs_truncate_inode_items(trans, root, &control); in btrfs_evict_inode()
5544 trans = evict_refill_and_join(root, &rsv); in btrfs_evict_inode()
5577 struct btrfs_root *root = dir->root; in btrfs_inode_by_name() local
5596 di = btrfs_lookup_dir_item(NULL, root, path, btrfs_ino(dir), in btrfs_inode_by_name()
5607 btrfs_warn(root->fs_info, in btrfs_inode_by_name()
5650 key.objectid = btrfs_root_id(dir->root); in fixup_tree_root_location()
5694 struct btrfs_root *root = inode->root; in btrfs_del_inode_from_root() local
5698 xa_lock(&root->inodes); in btrfs_del_inode_from_root()
5699 entry = __xa_erase(&root->inodes, btrfs_ino(inode)); in btrfs_del_inode_from_root()
5701 empty = xa_empty(&root->inodes); in btrfs_del_inode_from_root()
5702 xa_unlock(&root->inodes); in btrfs_del_inode_from_root()
5704 if (empty && btrfs_root_refs(&root->root_item) == 0) { in btrfs_del_inode_from_root()
5705 xa_lock(&root->inodes); in btrfs_del_inode_from_root()
5706 empty = xa_empty(&root->inodes); in btrfs_del_inode_from_root()
5707 xa_unlock(&root->inodes); in btrfs_del_inode_from_root()
5709 btrfs_add_dead_root(root); in btrfs_del_inode_from_root()
5719 BTRFS_I(inode)->root = btrfs_grab_root(args->root); in btrfs_init_locked_inode()
5721 if (args->root && args->root == args->root->fs_info->tree_root && in btrfs_init_locked_inode()
5733 args->root == BTRFS_I(inode)->root; in btrfs_find_actor()
5736 static struct btrfs_inode *btrfs_iget_locked(u64 ino, struct btrfs_root *root) in btrfs_iget_locked() argument
5740 unsigned long hashval = btrfs_inode_hash(ino, root); in btrfs_iget_locked()
5743 args.root = root; in btrfs_iget_locked()
5745 inode = iget5_locked_rcu(root->fs_info->sb, hashval, btrfs_find_actor, in btrfs_iget_locked()
5757 struct btrfs_inode *btrfs_iget_path(u64 ino, struct btrfs_root *root, in btrfs_iget_path() argument
5763 inode = btrfs_iget_locked(ino, root); in btrfs_iget_path()
5781 struct btrfs_inode *btrfs_iget(u64 ino, struct btrfs_root *root) in btrfs_iget() argument
5787 inode = btrfs_iget_locked(ino, root); in btrfs_iget()
5811 struct btrfs_root *root) in new_simple_dir() argument
5822 inode->root = btrfs_grab_root(root); in new_simple_dir()
5867 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_lookup_dentry() local
5868 struct btrfs_root *sub_root = root; in btrfs_lookup_dentry()
5881 inode = btrfs_iget(location.objectid, root); in btrfs_lookup_dentry()
5903 inode = new_simple_dir(dir, &location, root); in btrfs_lookup_dentry()
5929 struct btrfs_root *root; in btrfs_dentry_delete() local
5936 root = BTRFS_I(inode)->root; in btrfs_dentry_delete()
5937 if (btrfs_root_refs(&root->root_item) == 0) in btrfs_dentry_delete()
5962 struct btrfs_root *root = inode->root; in btrfs_set_inode_index_count() local
5976 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_set_inode_index_count()
6099 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_real_readdir() local
6134 btrfs_for_each_slot(root, &key, &found_key, path, ret) { in btrfs_real_readdir()
6227 struct btrfs_root *root = inode->root; in btrfs_dirty_inode() local
6228 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_dirty_inode()
6235 trans = btrfs_join_transaction(root); in btrfs_dirty_inode()
6243 trans = btrfs_start_transaction(root, 1); in btrfs_dirty_inode()
6262 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_update_time() local
6265 if (btrfs_root_readonly(root)) in btrfs_update_time()
6300 args.root = BTRFS_I(inode)->root; in btrfs_insert_inode_locked()
6303 btrfs_inode_hash(inode->i_ino, BTRFS_I(inode)->root), in btrfs_insert_inode_locked()
6404 struct btrfs_root *root; in btrfs_create_new_inode() local
6421 BTRFS_I(inode)->root = btrfs_grab_root(BTRFS_I(dir)->root); in btrfs_create_new_inode()
6422 root = BTRFS_I(inode)->root; in btrfs_create_new_inode()
6428 ret = btrfs_get_free_objectid(root, &objectid); in btrfs_create_new_inode()
6433 ret = xa_reserve(&root->inodes, objectid, GFP_NOFS); in btrfs_create_new_inode()
6526 ret = btrfs_insert_empty_items(trans, root, path, &batch); in btrfs_create_new_inode()
6580 parent = btrfs_iget(BTRFS_FIRST_FREE_OBJECTID, BTRFS_I(dir)->root); in btrfs_create_new_inode()
6595 btrfs_ino(BTRFS_I(inode)), btrfs_root_id(root), ret); in btrfs_create_new_inode()
6620 btrfs_update_root_times(trans, root); in btrfs_create_new_inode()
6648 xa_release(&root->inodes, objectid); in btrfs_create_new_inode()
6666 struct btrfs_root *root = parent_inode->root; in btrfs_add_link() local
6671 memcpy(&key, &inode->root->root_key, sizeof(key)); in btrfs_add_link()
6680 btrfs_root_id(root), parent_ino, in btrfs_add_link()
6683 ret = btrfs_insert_inode_ref(trans, root, name, in btrfs_add_link()
6715 ret2 = btrfs_del_root_ref(trans, key.objectid, btrfs_root_id(root), in btrfs_add_link()
6722 ret2 = btrfs_del_inode_ref(trans, root, name, ino, parent_ino, NULL); in btrfs_add_link()
6735 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_create_common() local
6749 trans = btrfs_start_transaction(root, trans_num_items); in btrfs_create_common()
6802 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_link() local
6811 if (btrfs_root_id(root) != btrfs_root_id(BTRFS_I(inode)->root)) in btrfs_link()
6831 trans = btrfs_start_transaction(root, inode->i_nlink ? 5 : 6); in btrfs_link()
6985 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_get_extent()
6992 struct btrfs_root *root = inode->root; in btrfs_get_extent() local
7039 ret = btrfs_lookup_file_extent(NULL, root, path, objectid, start, 0); in btrfs_get_extent()
7089 ret = btrfs_next_leaf(root, path); in btrfs_get_extent()
7162 trace_btrfs_get_extent(root, inode, em); in btrfs_get_extent()
7206 struct btrfs_root *root = inode->root; in can_nocow_extent() local
7207 struct btrfs_fs_info *fs_info = root->fs_info; in can_nocow_extent()
7222 ret = btrfs_lookup_file_extent(NULL, root, path, btrfs_ino(inode), in can_nocow_extent()
7277 root->fs_info->sectorsize) - 1; in can_nocow_extent()
7443 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_invalidate_folio()
7613 struct btrfs_root *root = inode->root; in btrfs_truncate() local
7614 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_truncate()
7665 trans = btrfs_start_transaction(root, 2); in btrfs_truncate()
7702 ret = btrfs_truncate_inode_items(trans, root, &control); in btrfs_truncate()
7720 trans = btrfs_start_transaction(root, 2); in btrfs_truncate()
7755 trans = btrfs_start_transaction(root, 1); in btrfs_truncate()
7827 ei->root = NULL; in btrfs_alloc_inode()
7902 struct btrfs_root *root = inode->root; in btrfs_destroy_inode() local
7915 if (!root || !btrfs_is_data_reloc_root(root)) in btrfs_destroy_inode()
7923 if (!root) in btrfs_destroy_inode()
7937 btrfs_err(root->fs_info, in btrfs_destroy_inode()
7942 btrfs_lockdep_acquire(root->fs_info, btrfs_ordered_extent); in btrfs_destroy_inode()
7953 btrfs_put_root(inode->root); in btrfs_destroy_inode()
7958 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_drop_inode() local
7960 if (root == NULL) in btrfs_drop_inode()
7964 if (btrfs_root_refs(&root->root_item) == 0) in btrfs_drop_inode()
8030 stat->dev = BTRFS_I(inode)->root->anon_dev; in btrfs_getattr()
8032 stat->subvol = btrfs_root_id(BTRFS_I(inode)->root); in btrfs_getattr()
8052 struct btrfs_root *root = BTRFS_I(old_dir)->root; in btrfs_rename_exchange() local
8053 struct btrfs_root *dest = BTRFS_I(new_dir)->root; in btrfs_rename_exchange()
8074 if (root != dest && in btrfs_rename_exchange()
8128 trans = btrfs_start_transaction(root, trans_num_items); in btrfs_rename_exchange()
8134 if (dest != root) { in btrfs_rename_exchange()
8172 ret = btrfs_insert_inode_ref(trans, root, old_name, new_ino, in btrfs_rename_exchange()
8209 btrfs_pin_log_trans(root); in btrfs_rename_exchange()
8299 btrfs_end_log_trans(root); in btrfs_rename_exchange()
8341 struct btrfs_root *root = BTRFS_I(old_dir)->root; in btrfs_rename() local
8342 struct btrfs_root *dest = BTRFS_I(new_dir)->root; in btrfs_rename()
8357 if (old_ino != BTRFS_FIRST_FREE_OBJECTID && root != dest) in btrfs_rename()
8453 trans = btrfs_start_transaction(root, trans_num_items); in btrfs_rename()
8459 if (dest != root) { in btrfs_rename()
8504 btrfs_pin_log_trans(root); in btrfs_rename()
8590 btrfs_end_log_trans(root); in btrfs_rename()
8625 btrfs_btree_balance_dirty(BTRFS_I(new_dir)->root->fs_info); in btrfs_rename2()
8674 static int start_delalloc_inodes(struct btrfs_root *root, in start_delalloc_inodes() argument
8684 mutex_lock(&root->delalloc_mutex); in start_delalloc_inodes()
8685 spin_lock(&root->delalloc_lock); in start_delalloc_inodes()
8686 list_splice_init(&root->delalloc_inodes, &splice); in start_delalloc_inodes()
8693 list_move_tail(&inode->delalloc_inodes, &root->delalloc_inodes); in start_delalloc_inodes()
8701 cond_resched_lock(&root->delalloc_lock); in start_delalloc_inodes()
8704 spin_unlock(&root->delalloc_lock); in start_delalloc_inodes()
8716 btrfs_queue_work(root->fs_info->flush_workers, in start_delalloc_inodes()
8725 spin_lock(&root->delalloc_lock); in start_delalloc_inodes()
8727 spin_unlock(&root->delalloc_lock); in start_delalloc_inodes()
8737 spin_lock(&root->delalloc_lock); in start_delalloc_inodes()
8738 list_splice_tail(&splice, &root->delalloc_inodes); in start_delalloc_inodes()
8739 spin_unlock(&root->delalloc_lock); in start_delalloc_inodes()
8741 mutex_unlock(&root->delalloc_mutex); in start_delalloc_inodes()
8745 int btrfs_start_delalloc_snapshot(struct btrfs_root *root, bool in_reclaim_context) in btrfs_start_delalloc_snapshot() argument
8753 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_start_delalloc_snapshot()
8758 return start_delalloc_inodes(root, &wbc, true, in_reclaim_context); in btrfs_start_delalloc_snapshot()
8770 struct btrfs_root *root; in btrfs_start_delalloc_roots() local
8788 root = list_first_entry(&splice, struct btrfs_root, in btrfs_start_delalloc_roots()
8790 root = btrfs_grab_root(root); in btrfs_start_delalloc_roots()
8791 BUG_ON(!root); in btrfs_start_delalloc_roots()
8792 list_move_tail(&root->delalloc_root, in btrfs_start_delalloc_roots()
8796 ret = start_delalloc_inodes(root, &wbc, false, in_reclaim_context); in btrfs_start_delalloc_roots()
8797 btrfs_put_root(root); in btrfs_start_delalloc_roots()
8820 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_symlink() local
8862 trans = btrfs_start_transaction(root, trans_num_items); in btrfs_symlink()
8884 ret = btrfs_insert_empty_item(trans, root, path, &key, datasize); in btrfs_symlink()
8991 btrfs_qgroup_free_refroot(inode->root->fs_info, in insert_prealloc_file_extent()
8992 btrfs_root_id(inode->root), qgroup_released, in insert_prealloc_file_extent()
9004 struct btrfs_root *root = BTRFS_I(inode)->root; in __btrfs_prealloc_file_range() local
9027 ret = btrfs_reserve_extent(root, cur_bytes, cur_bytes, in __btrfs_prealloc_file_range()
9137 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_permission() local
9142 if (btrfs_root_readonly(root)) in btrfs_permission()
9155 struct btrfs_root *root = BTRFS_I(dir)->root; in btrfs_tmpfile() local
9178 trans = btrfs_start_transaction(root, trans_num_items); in btrfs_tmpfile()
9245 struct btrfs_root *root = inode->root; in btrfs_encoded_read_inline() local
9246 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_encoded_read_inline()
9263 ret = btrfs_lookup_file_extent(NULL, root, path, btrfs_ino(inode), in btrfs_encoded_read_inline()
9359 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_encoded_read_regular_fill_pages()
9498 struct btrfs_fs_info *fs_info = inode->root->fs_info; in btrfs_encoded_read()
9664 struct btrfs_root *root = inode->root; in btrfs_do_encoded_write() local
9665 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_do_encoded_write()
9840 ret = btrfs_reserve_extent(root, disk_num_bytes, disk_num_bytes, in btrfs_do_encoded_write()
9919 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; in btrfs_add_swapfile_pin()
9960 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; in btrfs_free_swapfile_pins()
10039 atomic_dec(&BTRFS_I(inode)->root->nr_swapfiles); in btrfs_swap_deactivate()
10046 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_swap_activate() local
10047 struct btrfs_fs_info *fs_info = root->fs_info; in btrfs_swap_activate()
10128 if (!btrfs_drew_try_write_lock(&root->snapshot_lock)) { in btrfs_swap_activate()
10145 spin_lock(&root->root_item_lock); in btrfs_swap_activate()
10146 if (btrfs_root_dead(root)) { in btrfs_swap_activate()
10147 spin_unlock(&root->root_item_lock); in btrfs_swap_activate()
10149 btrfs_drew_write_unlock(&root->snapshot_lock); in btrfs_swap_activate()
10153 btrfs_root_id(root)); in btrfs_swap_activate()
10157 atomic_inc(&root->nr_swapfiles); in btrfs_swap_activate()
10158 spin_unlock(&root->root_item_lock); in btrfs_swap_activate()
10178 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_swap_activate()
10345 btrfs_drew_write_unlock(&root->snapshot_lock); in btrfs_swap_activate()
10412 struct btrfs_root *root = inode->root; in btrfs_assert_inode_range_clean() local
10420 btrfs_err(root->fs_info, in btrfs_assert_inode_range_clean()
10422 start, end, btrfs_ino(inode), btrfs_root_id(root), in btrfs_assert_inode_range_clean()
10440 struct btrfs_inode *btrfs_find_first_inode(struct btrfs_root *root, u64 min_ino) in btrfs_find_first_inode() argument
10445 xa_lock(&root->inodes); in btrfs_find_first_inode()
10447 inode = xa_find(&root->inodes, &from, ULONG_MAX, XA_PRESENT); in btrfs_find_first_inode()
10454 cond_resched_lock(&root->inodes.xa_lock); in btrfs_find_first_inode()
10456 xa_unlock(&root->inodes); in btrfs_find_first_inode()