Lines Matching defs:root

61 #include "root-tree.h"
77 struct btrfs_root *root;
139 u64 root, void *warn_ctx)
152 local_root = btrfs_get_fs_root(fs_info, root, true);
187 "checksum error at logical %llu mirror %u root %llu, inode %llu offset %llu",
188 warn->logical, warn->mirror_num, root, inum, offset);
201 "checksum error at logical %llu mirror %u root %llu inode %llu offset %llu length %u links %u (path: %s)",
202 warn->logical, warn->mirror_num, root, inum, offset,
213 "checksum error at logical %llu mirror %u root %llu inode %llu offset %llu, path resolving failed with ret=%d",
214 warn->logical, warn->mirror_num, root, inum, offset, ret);
230 struct btrfs_fs_info *fs_info = inode->root->fs_info;
248 "csum failed root %lld ino %llu off %llu csum " CSUM_FMT " expected csum " CSUM_FMT " mirror %d",
249 inode->root->root_key.objectid, btrfs_ino(inode), file_off,
258 "csum failed root %lld ino %llu off %llu logical %llu csum " CSUM_FMT " expected csum " CSUM_FMT " mirror %d",
259 inode->root->root_key.objectid,
322 struct btrfs_root *root = inode->root;
323 const u32 csum_size = root->fs_info->csum_size;
326 if (root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID)
331 if (root->root_key.objectid >= BTRFS_LAST_FREE_OBJECTID) {
332 btrfs_warn_rl(root->fs_info,
333 "csum failed root %lld ino %lld off %llu csum " CSUM_FMT " expected csum " CSUM_FMT " mirror %d",
334 root->root_key.objectid, btrfs_ino(inode),
340 btrfs_warn_rl(root->fs_info,
341 "csum failed root %llu ino %llu off %llu csum " CSUM_FMT " expected csum " CSUM_FMT " mirror %d",
342 root->root_key.objectid, btrfs_ino(inode),
449 btrfs_page_clamp_clear_ordered(inode->root->fs_info, page,
510 struct btrfs_root *root = inode->root;
535 ret = btrfs_insert_empty_item(trans, root, path, &key,
584 ALIGN(size, root->fs_info->sectorsize));
619 struct btrfs_root *root = inode->root;
620 struct btrfs_fs_info *fs_info = root->fs_info;
642 trans = btrfs_join_transaction(root);
655 ret = btrfs_drop_extents(trans, root, inode, &drop_args);
673 ret = btrfs_update_inode(trans, root, inode);
751 struct btrfs_fs_info *fs_info = inode->root->fs_info;
834 struct btrfs_fs_info *fs_info = inode->root->fs_info;
1100 struct btrfs_root *root = inode->root;
1101 struct btrfs_fs_info *fs_info = root->fs_info;
1131 ret = btrfs_reserve_extent(root, async_extent->ram_size,
1207 "async extent submission failed root=%lld inode=%llu start=%llu len=%llu ret=%d",
1208 root->root_key.objectid, btrfs_ino(inode), start,
1278 struct btrfs_root *root = inode->root;
1279 struct btrfs_fs_info *fs_info = root->fs_info;
1368 if (btrfs_is_data_reloc_root(root))
1377 ret = btrfs_reserve_extent(root, cur_alloc_size, cur_alloc_size,
1394 wait_on_bit_io(&inode->root->fs_info->flags,
1434 if (btrfs_is_data_reloc_root(root)) {
1613 struct btrfs_fs_info *fs_info = inode->root->fs_info;
1750 const bool is_reloc_ino = btrfs_is_data_reloc_root(inode->root);
1793 struct btrfs_fs_info *fs_info = inode->root->fs_info;
1858 struct btrfs_root *root = inode->root;
1888 btrfs_root_last_snapshot(&root->root_item))
1910 ret = btrfs_cross_ref_exist(root, btrfs_ino(inode),
1928 /* If there are pending snapshots for this root, we must COW. */
1930 atomic_read(&root->snapshot_force_cow))
1941 ret = csum_exist_in_range(root->fs_info, args->disk_bytenr, args->num_bytes,
1966 struct btrfs_fs_info *fs_info = inode->root->fs_info;
1967 struct btrfs_root *root = inode->root;
1981 ASSERT(!btrfs_is_zoned(fs_info) || btrfs_is_data_reloc_root(root));
2004 ret = btrfs_lookup_file_extent(NULL, root, path, ino,
2027 ret = btrfs_next_leaf(root, path);
2172 if (btrfs_is_data_reloc_root(root))
2253 const bool zoned = btrfs_is_zoned(inode->root->fs_info);
2290 struct btrfs_fs_info *fs_info = inode->root->fs_info;
2327 struct btrfs_fs_info *fs_info = inode->root->fs_info;
2378 static void btrfs_add_delalloc_inodes(struct btrfs_root *root,
2381 struct btrfs_fs_info *fs_info = inode->root->fs_info;
2383 spin_lock(&root->delalloc_lock);
2385 list_add_tail(&inode->delalloc_inodes, &root->delalloc_inodes);
2387 root->nr_delalloc_inodes++;
2388 if (root->nr_delalloc_inodes == 1) {
2390 BUG_ON(!list_empty(&root->delalloc_root));
2391 list_add_tail(&root->delalloc_root,
2396 spin_unlock(&root->delalloc_lock);
2399 void __btrfs_del_delalloc_inode(struct btrfs_root *root,
2402 struct btrfs_fs_info *fs_info = root->fs_info;
2408 root->nr_delalloc_inodes--;
2409 if (!root->nr_delalloc_inodes) {
2410 ASSERT(list_empty(&root->delalloc_inodes));
2412 BUG_ON(list_empty(&root->delalloc_root));
2413 list_del_init(&root->delalloc_root);
2419 static void btrfs_del_delalloc_inode(struct btrfs_root *root,
2422 spin_lock(&root->delalloc_lock);
2423 __btrfs_del_delalloc_inode(root, inode);
2424 spin_unlock(&root->delalloc_lock);
2434 struct btrfs_fs_info *fs_info = inode->root->fs_info;
2444 struct btrfs_root *root = inode->root;
2465 btrfs_add_delalloc_inodes(root, inode);
2484 struct btrfs_fs_info *fs_info = inode->root->fs_info;
2500 struct btrfs_root *root = inode->root;
2513 root != fs_info->tree_root)
2520 if (!btrfs_is_data_reloc_root(root) &&
2532 btrfs_del_delalloc_inode(root, inode);
2691 struct btrfs_fs_info *fs_info = inode->root->fs_info;
2864 struct btrfs_root *root = inode->root;
2865 const u64 sectorsize = root->fs_info->sectorsize;
2895 ret = btrfs_drop_extents(trans, root, inode, &drop_args);
2904 ret = btrfs_insert_empty_item(trans, root, path, &ins,
2945 ret = btrfs_alloc_reserved_file_extent(trans, root, btrfs_ino(inode),
3015 struct btrfs_root *root = inode->root;
3016 struct btrfs_fs_info *fs_info = root->fs_info;
3064 trans = btrfs_join_transaction_spacecache(root);
3066 trans = btrfs_join_transaction(root);
3073 ret = btrfs_update_inode_fallback(trans, root, inode);
3083 trans = btrfs_join_transaction_spacecache(root);
3085 trans = btrfs_join_transaction(root);
3105 BUG_ON(root == fs_info->tree_root);
3139 ret = btrfs_update_inode_fallback(trans, root, inode);
3176 * we will search the commit root. If this is a new block group
3219 btrfs_qgroup_free_refroot(fs_info, inode->root->root_key.objectid,
3287 struct btrfs_fs_info *fs_info = inode->root->fs_info;
3298 if (btrfs_is_data_reloc_root(inode->root) &&
3335 struct btrfs_fs_info *fs_info = inode->root->fs_info;
3431 ret = btrfs_insert_orphan_item(trans, inode->root, btrfs_ino(inode));
3447 return btrfs_del_orphan_item(trans, inode->root, btrfs_ino(inode));
3452 * of this root.
3454 int btrfs_orphan_cleanup(struct btrfs_root *root)
3456 struct btrfs_fs_info *fs_info = root->fs_info;
3465 if (test_and_set_bit(BTRFS_ROOT_ORPHAN_CLEANUP, &root->state))
3480 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
3511 * crossing root thing. we store the inode number in the
3534 inode = btrfs_iget(fs_info->sb, last_objectid, root);
3542 if (!inode && root == fs_info->tree_root) {
3547 * This is an orphan in the tree root. Currently these
3549 * a) a root (snapshot/subvolume) deletion in progress
3552 * for a root must not get deleted before the deletion
3558 * orphan item corresponds to a deleted root by looking
3559 * up the root from that radix tree.
3611 trans = btrfs_start_transaction(root, 1);
3618 ret = btrfs_del_orphan_item(trans, root,
3634 if (test_bit(BTRFS_ROOT_ORPHAN_ITEM_INSERTED, &root->state)) {
3635 trans = btrfs_join_transaction(root);
3729 struct btrfs_root *root = BTRFS_I(inode)->root;
3750 ret = btrfs_lookup_inode(NULL, root, path, &location, 0);
3885 "error loading props for ino %llu (root %llu): %d",
3887 root->root_key.objectid, ret);
3975 struct btrfs_root *root,
3987 ret = btrfs_lookup_inode(trans, root, path, &inode->location, 1);
4011 struct btrfs_root *root,
4014 struct btrfs_fs_info *fs_info = root->fs_info;
4025 && !btrfs_is_data_reloc_root(root)
4027 btrfs_update_root_times(trans, root);
4029 ret = btrfs_delayed_update_inode(trans, root, inode);
4035 return btrfs_update_inode_item(trans, root, inode);
4039 struct btrfs_root *root, struct btrfs_inode *inode)
4043 ret = btrfs_update_inode(trans, root, inode);
4045 return btrfs_update_inode_item(trans, root, inode);
4060 struct btrfs_root *root = dir->root;
4061 struct btrfs_fs_info *fs_info = root->fs_info;
4075 di = btrfs_lookup_dir_item(trans, root, path, dir_ino, name, -1);
4080 ret = btrfs_delete_one_dir_name(trans, root, path, di);
4103 ret = btrfs_del_inode_ref(trans, root, name, ino, dir_ino, &index);
4128 btrfs_del_inode_ref_in_log(trans, root, name, inode, dir_ino);
4129 btrfs_del_dir_entries_in_log(trans, root, name, dir, index);
4152 ret = btrfs_update_inode(trans, root, dir);
4166 ret = btrfs_update_inode(trans, inode->root, inode);
4181 struct btrfs_root *root = dir->root;
4183 return btrfs_start_transaction_fallback_global_rsv(root,
4222 btrfs_btree_balance_dirty(BTRFS_I(dir)->root->fs_info);
4231 struct btrfs_root *root = dir->root;
4250 objectid = inode->root->root_key.objectid;
4265 di = btrfs_lookup_dir_item(trans, root, path, dir_ino,
4275 ret = btrfs_delete_one_dir_name(trans, root, path, di);
4288 * remove it. Otherwise we know we have a ref to the root and we can
4292 di = btrfs_search_dir_index_item(root, path, dir_ino, &fname.disk_name);
4308 root->root_key.objectid, dir_ino,
4325 ret = btrfs_update_inode_fallback(trans, root, dir);
4338 static noinline int may_destroy_subvol(struct btrfs_root *root)
4340 struct btrfs_fs_info *fs_info = root->fs_info;
4352 /* Make sure this root isn't set as the default subvol */
4358 if (key.objectid == root->root_key.objectid) {
4368 key.objectid = root->root_key.objectid;
4381 if (key.objectid == root->root_key.objectid &&
4390 /* Delete all dentries for inodes belonging to the root */
4391 static void btrfs_prune_dentries(struct btrfs_root *root)
4393 struct btrfs_fs_info *fs_info = root->fs_info;
4401 WARN_ON(btrfs_root_refs(&root->root_item) != 0);
4403 spin_lock(&root->inode_lock);
4405 node = root->inode_tree.rb_node;
4433 spin_unlock(&root->inode_lock);
4442 spin_lock(&root->inode_lock);
4446 if (cond_resched_lock(&root->inode_lock))
4451 spin_unlock(&root->inode_lock);
4457 struct btrfs_root *root = dir->root;
4459 struct btrfs_root *dest = BTRFS_I(inode)->root;
4485 root->root_key.objectid);
4502 * two for root ref/backref.
4504 ret = btrfs_subvolume_reserve_metadata(root, &block_rsv, 5, true);
4508 trans = btrfs_start_transaction(root, 0);
4571 btrfs_subvolume_release_metadata(root, &block_rsv);
4594 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
4676 struct btrfs_fs_info *fs_info = inode->root->fs_info;
4813 static int maybe_insert_hole(struct btrfs_root *root, struct btrfs_inode *inode,
4816 struct btrfs_fs_info *fs_info = root->fs_info;
4835 trans = btrfs_start_transaction(root, 3);
4843 ret = btrfs_drop_extents(trans, root, inode, &drop_args);
4850 ret = btrfs_insert_hole_extent(trans, root, btrfs_ino(inode), offset, len);
4855 btrfs_update_inode(trans, root, inode);
4869 struct btrfs_root *root = inode->root;
4870 struct btrfs_fs_info *fs_info = root->fs_info;
4911 err = maybe_insert_hole(root, inode, cur_offset,
4962 struct btrfs_root *root = BTRFS_I(inode)->root;
4990 btrfs_drew_write_lock(&root->snapshot_lock);
4993 btrfs_drew_write_unlock(&root->snapshot_lock);
4997 trans = btrfs_start_transaction(root, 1);
4999 btrfs_drew_write_unlock(&root->snapshot_lock);
5006 ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
5007 btrfs_drew_write_unlock(&root->snapshot_lock);
5057 struct btrfs_root *root = BTRFS_I(inode)->root;
5060 if (btrfs_root_readonly(root))
5163 static struct btrfs_trans_handle *evict_refill_and_join(struct btrfs_root *root,
5166 struct btrfs_fs_info *fs_info = root->fs_info;
5177 * btrfs_start_transaction(root, 0) for the same deadlocky reason as
5198 trans = btrfs_join_transaction(root);
5215 struct btrfs_root *root = BTRFS_I(inode)->root;
5221 if (!root) {
5230 ((btrfs_root_refs(&root->root_item) != 0 &&
5231 root->root_key.objectid != BTRFS_ROOT_TREE_OBJECTID) ||
5242 BUG_ON(btrfs_root_refs(&root->root_item) != 0 &&
5243 root->root_key.objectid != BTRFS_ROOT_TREE_OBJECTID);
5279 trans = evict_refill_and_join(root, rsv);
5285 ret = btrfs_truncate_inode_items(trans, root, &control);
5309 trans = evict_refill_and_join(root, rsv);
5341 struct btrfs_root *root = dir->root;
5360 di = btrfs_lookup_dir_item(NULL, root, path, btrfs_ino(dir),
5371 btrfs_warn(root->fs_info,
5385 * when we hit a tree root in a directory, the btrfs part of the inode
5386 * needs to be changed to reflect the root directory of the tree root. This
5415 key.objectid = dir->root->root_key.objectid;
5458 struct btrfs_root *root = inode->root;
5468 spin_lock(&root->inode_lock);
5469 p = &root->inode_tree.rb_node;
5481 rb_replace_node(parent, new, &root->inode_tree);
5483 spin_unlock(&root->inode_lock);
5488 rb_insert_color(new, &root->inode_tree);
5489 spin_unlock(&root->inode_lock);
5494 struct btrfs_root *root = inode->root;
5497 spin_lock(&root->inode_lock);
5499 rb_erase(&inode->rb_node, &root->inode_tree);
5501 empty = RB_EMPTY_ROOT(&root->inode_tree);
5503 spin_unlock(&root->inode_lock);
5505 if (empty && btrfs_root_refs(&root->root_item) == 0) {
5506 spin_lock(&root->inode_lock);
5507 empty = RB_EMPTY_ROOT(&root->inode_tree);
5508 spin_unlock(&root->inode_lock);
5510 btrfs_add_dead_root(root);
5523 BTRFS_I(inode)->root = btrfs_grab_root(args->root);
5524 BUG_ON(args->root && !BTRFS_I(inode)->root);
5526 if (args->root && args->root == args->root->fs_info->tree_root &&
5538 args->root == BTRFS_I(inode)->root;
5542 struct btrfs_root *root)
5546 unsigned long hashval = btrfs_inode_hash(ino, root);
5549 args.root = root;
5558 * Get an inode object given its inode number and corresponding root.
5564 struct btrfs_root *root, struct btrfs_path *path)
5568 inode = btrfs_iget_locked(s, ino, root);
5595 struct inode *btrfs_iget(struct super_block *s, u64 ino, struct btrfs_root *root)
5597 return btrfs_iget_path(s, ino, root, NULL);
5602 struct btrfs_root *root)
5609 BTRFS_I(inode)->root = btrfs_grab_root(root);
5649 struct btrfs_root *root = BTRFS_I(dir)->root;
5650 struct btrfs_root *sub_root = root;
5663 inode = btrfs_iget(dir->i_sb, location.objectid, root);
5685 inode = new_simple_dir(dir, &location, root);
5708 struct btrfs_root *root;
5715 root = BTRFS_I(inode)->root;
5716 if (btrfs_root_refs(&root->root_item) == 0)
5741 struct btrfs_root *root = inode->root;
5755 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
5880 struct btrfs_root *root = BTRFS_I(inode)->root;
5915 btrfs_for_each_slot(root, &key, &found_key, path, ret) {
6010 struct btrfs_root *root = inode->root;
6011 struct btrfs_fs_info *fs_info = root->fs_info;
6018 trans = btrfs_join_transaction(root);
6022 ret = btrfs_update_inode(trans, root, inode);
6026 trans = btrfs_start_transaction(root, 1);
6030 ret = btrfs_update_inode(trans, root, inode);
6045 struct btrfs_root *root = BTRFS_I(inode)->root;
6048 if (btrfs_root_readonly(root))
6083 args.root = BTRFS_I(inode)->root;
6086 btrfs_inode_hash(inode->i_ino, BTRFS_I(inode)->root),
6186 struct btrfs_root *root;
6203 BTRFS_I(inode)->root = btrfs_grab_root(BTRFS_I(dir)->root);
6204 root = BTRFS_I(inode)->root;
6206 ret = btrfs_get_free_objectid(root, &objectid);
6293 ret = btrfs_insert_empty_items(trans, root, path, &batch);
6349 BTRFS_I(dir)->root);
6361 "error inheriting props for ino %llu (root %llu): %d",
6362 btrfs_ino(BTRFS_I(inode)), root->root_key.objectid,
6383 btrfs_update_root_times(trans, root);
6422 struct btrfs_root *root = parent_inode->root;
6427 memcpy(&key, &inode->root->root_key, sizeof(key));
6436 root->root_key.objectid, parent_ino,
6439 ret = btrfs_insert_inode_ref(trans, root, name,
6465 if (!test_bit(BTRFS_FS_LOG_RECOVERING, &root->fs_info->flags))
6469 ret = btrfs_update_inode(trans, root, parent_inode);
6479 root->root_key.objectid, parent_ino,
6487 err = btrfs_del_inode_ref(trans, root, name, ino, parent_ino,
6501 struct btrfs_root *root = BTRFS_I(dir)->root;
6515 trans = btrfs_start_transaction(root, trans_num_items);
6568 struct btrfs_root *root = BTRFS_I(dir)->root;
6577 if (root->root_key.objectid != BTRFS_I(inode)->root->root_key.objectid)
6597 trans = btrfs_start_transaction(root, inode->i_nlink ? 5 : 6);
6620 err = btrfs_update_inode(trans, root, BTRFS_I(inode));
6751 struct btrfs_fs_info *fs_info = inode->root->fs_info;
6758 struct btrfs_root *root = inode->root;
6806 ret = btrfs_lookup_file_extent(NULL, root, path, objectid, start, 0);
6856 ret = btrfs_next_leaf(root, path);
6932 trace_btrfs_get_extent(root, inode, em);
6988 struct btrfs_root *root = inode->root;
6989 struct btrfs_fs_info *fs_info = root->fs_info;
6997 ret = btrfs_reserve_extent(root, len, len, fs_info->sectorsize,
7001 wait_on_bit_io(&inode->root->fs_info->flags, BTRFS_FS_NEED_ZONE_FINISH,
7061 struct btrfs_root *root = BTRFS_I(inode)->root;
7072 ret = btrfs_lookup_file_extent(NULL, root, path,
7131 root->fs_info->sectorsize) - 1;
7725 btrfs_warn(inode->root->fs_info,
7752 btrfs_bio_init(bbio, BTRFS_I(iter->inode)->root->fs_info,
7931 struct btrfs_fs_info *fs_info = inode->root->fs_info;
8266 struct btrfs_root *root = inode->root;
8267 struct btrfs_fs_info *fs_info = root->fs_info;
8320 trans = btrfs_start_transaction(root, 2);
8357 ret = btrfs_truncate_inode_items(trans, root, &control);
8368 ret = btrfs_update_inode(trans, root, inode);
8375 trans = btrfs_start_transaction(root, 2);
8409 trans = btrfs_start_transaction(root, 1);
8421 ret2 = btrfs_update_inode(trans, root, inode);
8481 ei->root = NULL;
8546 struct btrfs_root *root = inode->root;
8566 if (!root)
8580 btrfs_err(root->fs_info,
8585 btrfs_lockdep_acquire(root->fs_info, btrfs_ordered_extent);
8596 btrfs_put_root(inode->root);
8601 struct btrfs_root *root = BTRFS_I(inode)->root;
8603 if (root == NULL)
8607 if (btrfs_root_refs(&root->root_item) == 0)
8682 stat->dev = BTRFS_I(inode)->root->anon_dev;
8701 struct btrfs_root *root = BTRFS_I(old_dir)->root;
8702 struct btrfs_root *dest = BTRFS_I(new_dir)->root;
8722 if (root != dest &&
8758 * 1 to remove old root ref
8759 * 1 to remove old root backref
8760 * 1 to add new root ref
8761 * 1 to add new root backref
8776 trans = btrfs_start_transaction(root, trans_num_items);
8782 if (dest != root) {
8820 ret = btrfs_insert_inode_ref(trans, root, old_name, new_ino,
8852 ret = btrfs_update_inode(trans, root, BTRFS_I(old_inode));
8900 btrfs_pin_log_trans(root);
8914 btrfs_end_log_trans(root);
8957 struct btrfs_root *root = BTRFS_I(old_dir)->root;
8958 struct btrfs_root *dest = BTRFS_I(new_dir)->root;
8972 if (old_ino != BTRFS_FIRST_FREE_OBJECTID && root != dest)
9034 * 1 to remove old root ref
9035 * 1 to remove old root backref
9036 * 1 to add new root ref
9037 * 1 to add new root backref
9068 trans = btrfs_start_transaction(root, trans_num_items);
9074 if (dest != root) {
9112 ret = btrfs_update_inode(trans, root, BTRFS_I(old_inode));
9197 btrfs_btree_balance_dirty(BTRFS_I(new_dir)->root->fs_info);
9246 static int start_delalloc_inodes(struct btrfs_root *root,
9258 mutex_lock(&root->delalloc_mutex);
9259 spin_lock(&root->delalloc_lock);
9260 list_splice_init(&root->delalloc_inodes, &splice);
9266 &root->delalloc_inodes);
9274 cond_resched_lock(&root->delalloc_lock);
9277 spin_unlock(&root->delalloc_lock);
9290 btrfs_queue_work(root->fs_info->flush_workers,
9299 spin_lock(&root->delalloc_lock);
9301 spin_unlock(&root->delalloc_lock);
9311 spin_lock(&root->delalloc_lock);
9312 list_splice_tail(&splice, &root->delalloc_inodes);
9313 spin_unlock(&root->delalloc_lock);
9315 mutex_unlock(&root->delalloc_mutex);
9319 int btrfs_start_delalloc_snapshot(struct btrfs_root *root, bool in_reclaim_context)
9327 struct btrfs_fs_info *fs_info = root->fs_info;
9332 return start_delalloc_inodes(root, &wbc, true, in_reclaim_context);
9344 struct btrfs_root *root;
9362 root = list_first_entry(&splice, struct btrfs_root,
9364 root = btrfs_grab_root(root);
9365 BUG_ON(!root);
9366 list_move_tail(&root->delalloc_root,
9370 ret = start_delalloc_inodes(root, &wbc, false, in_reclaim_context);
9371 btrfs_put_root(root);
9394 struct btrfs_root *root = BTRFS_I(dir)->root;
9431 trans = btrfs_start_transaction(root, trans_num_items);
9453 err = btrfs_insert_empty_item(trans, root, path, &key,
9562 btrfs_qgroup_free_refroot(inode->root->fs_info,
9563 inode->root->root_key.objectid, qgroup_released,
9575 struct btrfs_root *root = BTRFS_I(inode)->root;
9598 ret = btrfs_reserve_extent(root, cur_bytes, cur_bytes,
9668 ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
9709 struct btrfs_root *root = BTRFS_I(inode)->root;
9714 if (btrfs_root_readonly(root))
9727 struct btrfs_root *root = BTRFS_I(dir)->root;
9750 trans = btrfs_start_transaction(root, trans_num_items);
9785 struct btrfs_fs_info *fs_info = inode->root->fs_info;
9837 struct btrfs_root *root = inode->root;
9838 struct btrfs_fs_info *fs_info = root->fs_info;
9853 ret = btrfs_lookup_file_extent(NULL, root, path, btrfs_ino(inode),
9944 struct btrfs_fs_info *fs_info = inode->root->fs_info;
10056 struct btrfs_fs_info *fs_info = inode->root->fs_info;
10199 struct btrfs_root *root = inode->root;
10200 struct btrfs_fs_info *fs_info = root->fs_info;
10372 ret = btrfs_reserve_extent(root, disk_num_bytes, disk_num_bytes,
10451 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
10492 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
10571 atomic_dec(&BTRFS_I(inode)->root->nr_swapfiles);
10578 struct btrfs_root *root = BTRFS_I(inode)->root;
10579 struct btrfs_fs_info *fs_info = root->fs_info;
10638 if (!btrfs_drew_try_write_lock(&root->snapshot_lock)) {
10651 * removed yet. To prevent this race, we check the root status before
10654 spin_lock(&root->root_item_lock);
10655 if (btrfs_root_dead(root)) {
10656 spin_unlock(&root->root_item_lock);
10661 root->root_key.objectid);
10664 atomic_inc(&root->nr_swapfiles);
10665 spin_unlock(&root->root_item_lock);
10811 btrfs_drew_write_unlock(&root->snapshot_lock);
10875 struct btrfs_root *root = inode->root;
10883 btrfs_err(root->fs_info,
10884 "found unexpected ordered extent in file range [%llu, %llu] for inode %llu root %llu (ordered range [%llu, %llu])",
10885 start, end, btrfs_ino(inode), root->root_key.objectid,