btrfs: rename btrfs_put_fs_root and btrfs_grab_fs_root
authorJosef Bacik <josef@toxicpanda.com>
Fri, 24 Jan 2020 14:33:01 +0000 (09:33 -0500)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Mar 2020 16:01:33 +0000 (17:01 +0100)
We are now using these for all roots, rename them to btrfs_put_root()
and btrfs_grab_root();

Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
19 files changed:
fs/btrfs/backref.c
fs/btrfs/disk-io.c
fs/btrfs/disk-io.h
fs/btrfs/export.c
fs/btrfs/extent-tree.c
fs/btrfs/file.c
fs/btrfs/free-space-tree.c
fs/btrfs/inode.c
fs/btrfs/ioctl.c
fs/btrfs/ordered-data.c
fs/btrfs/qgroup.c
fs/btrfs/relocation.c
fs/btrfs/root-tree.c
fs/btrfs/scrub.c
fs/btrfs/send.c
fs/btrfs/super.c
fs/btrfs/tests/btrfs-tests.c
fs/btrfs/tree-log.c
fs/btrfs/volumes.c

index b69154d..ded46ef 100644 (file)
@@ -577,7 +577,7 @@ static int resolve_indirect_ref(struct btrfs_fs_info *fs_info,
        ret = add_all_parents(root, path, parents, ref, level, time_seq,
                              extent_item_pos, total_refs, ignore_offset);
 out:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 out_free:
        path->lowest_level = 0;
        btrfs_release_path(path);
index c2838a4..f859a28 100644 (file)
@@ -1309,7 +1309,7 @@ fail:
                free_extent_buffer(root->commit_root);
                free_extent_buffer(leaf);
        }
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 
        return ERR_PTR(ret);
 }
@@ -1340,7 +1340,7 @@ static struct btrfs_root *alloc_log_tree(struct btrfs_trans_handle *trans,
        leaf = btrfs_alloc_tree_block(trans, root, 0, BTRFS_TREE_LOG_OBJECTID,
                        NULL, 0, 0, 0);
        if (IS_ERR(leaf)) {
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
                return ERR_CAST(leaf);
        }
 
@@ -1443,7 +1443,7 @@ out:
        return root;
 
 find_fail:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 alloc_fail:
        root = ERR_PTR(ret);
        goto out;
@@ -1509,7 +1509,7 @@ static struct btrfs_root *btrfs_lookup_fs_root(struct btrfs_fs_info *fs_info,
        root = radix_tree_lookup(&fs_info->fs_roots_radix,
                                 (unsigned long)root_id);
        if (root)
-               root = btrfs_grab_fs_root(root);
+               root = btrfs_grab_root(root);
        spin_unlock(&fs_info->fs_roots_radix_lock);
        return root;
 }
@@ -1528,7 +1528,7 @@ int btrfs_insert_fs_root(struct btrfs_fs_info *fs_info,
                                (unsigned long)root->root_key.objectid,
                                root);
        if (ret == 0) {
-               btrfs_grab_fs_root(root);
+               btrfs_grab_root(root);
                set_bit(BTRFS_ROOT_IN_RADIX, &root->state);
        }
        spin_unlock(&fs_info->fs_roots_radix_lock);
@@ -1549,8 +1549,8 @@ void btrfs_check_leaked_roots(struct btrfs_fs_info *fs_info)
                          root->root_key.objectid, root->root_key.offset,
                          refcount_read(&root->refs));
                while (refcount_read(&root->refs) > 1)
-                       btrfs_put_fs_root(root);
-               btrfs_put_fs_root(root);
+                       btrfs_put_root(root);
+               btrfs_put_root(root);
        }
 #endif
 }
@@ -1566,15 +1566,15 @@ void btrfs_free_fs_info(struct btrfs_fs_info *fs_info)
        btrfs_free_ref_cache(fs_info);
        kfree(fs_info->balance_ctl);
        kfree(fs_info->delayed_root);
-       btrfs_put_fs_root(fs_info->extent_root);
-       btrfs_put_fs_root(fs_info->tree_root);
-       btrfs_put_fs_root(fs_info->chunk_root);
-       btrfs_put_fs_root(fs_info->dev_root);
-       btrfs_put_fs_root(fs_info->csum_root);
-       btrfs_put_fs_root(fs_info->quota_root);
-       btrfs_put_fs_root(fs_info->uuid_root);
-       btrfs_put_fs_root(fs_info->free_space_root);
-       btrfs_put_fs_root(fs_info->fs_root);
+       btrfs_put_root(fs_info->extent_root);
+       btrfs_put_root(fs_info->tree_root);
+       btrfs_put_root(fs_info->chunk_root);
+       btrfs_put_root(fs_info->dev_root);
+       btrfs_put_root(fs_info->csum_root);
+       btrfs_put_root(fs_info->quota_root);
+       btrfs_put_root(fs_info->uuid_root);
+       btrfs_put_root(fs_info->free_space_root);
+       btrfs_put_root(fs_info->fs_root);
        btrfs_check_leaked_roots(fs_info);
        kfree(fs_info->super_copy);
        kfree(fs_info->super_for_commit);
@@ -1592,29 +1592,29 @@ struct btrfs_root *btrfs_get_fs_root(struct btrfs_fs_info *fs_info,
        int ret;
 
        if (location->objectid == BTRFS_ROOT_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->tree_root);
+               return btrfs_grab_root(fs_info->tree_root);
        if (location->objectid == BTRFS_EXTENT_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->extent_root);
+               return btrfs_grab_root(fs_info->extent_root);
        if (location->objectid == BTRFS_CHUNK_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->chunk_root);
+               return btrfs_grab_root(fs_info->chunk_root);
        if (location->objectid == BTRFS_DEV_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->dev_root);
+               return btrfs_grab_root(fs_info->dev_root);
        if (location->objectid == BTRFS_CSUM_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->csum_root);
+               return btrfs_grab_root(fs_info->csum_root);
        if (location->objectid == BTRFS_QUOTA_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->quota_root) ?
+               return btrfs_grab_root(fs_info->quota_root) ?
                        fs_info->quota_root : ERR_PTR(-ENOENT);
        if (location->objectid == BTRFS_UUID_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->uuid_root) ?
+               return btrfs_grab_root(fs_info->uuid_root) ?
                        fs_info->uuid_root : ERR_PTR(-ENOENT);
        if (location->objectid == BTRFS_FREE_SPACE_TREE_OBJECTID)
-               return btrfs_grab_fs_root(fs_info->free_space_root) ?
+               return btrfs_grab_root(fs_info->free_space_root) ?
                        fs_info->free_space_root : ERR_PTR(-ENOENT);
 again:
        root = btrfs_lookup_fs_root(fs_info, location->objectid);
        if (root) {
                if (check_ref && btrfs_root_refs(&root->root_item) == 0) {
-                       btrfs_put_fs_root(root);
+                       btrfs_put_root(root);
                        return ERR_PTR(-ENOENT);
                }
                return root;
@@ -1657,10 +1657,10 @@ again:
         * we have the third for returning it, and the caller will put it when
         * it's done with the root.
         */
-       btrfs_grab_fs_root(root);
+       btrfs_grab_root(root);
        ret = btrfs_insert_fs_root(fs_info, root);
        if (ret) {
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
                if (ret == -EEXIST) {
                        btrfs_free_fs_root(root);
                        goto again;
@@ -2062,7 +2062,7 @@ void btrfs_free_fs_roots(struct btrfs_fs_info *fs_info)
                } else {
                        free_extent_buffer(gang[0]->node);
                        free_extent_buffer(gang[0]->commit_root);
-                       btrfs_put_fs_root(gang[0]);
+                       btrfs_put_root(gang[0]);
                }
        }
 
@@ -2270,12 +2270,12 @@ static int btrfs_replay_log(struct btrfs_fs_info *fs_info,
        if (IS_ERR(log_tree_root->node)) {
                btrfs_warn(fs_info, "failed to read log tree");
                ret = PTR_ERR(log_tree_root->node);
-               btrfs_put_fs_root(log_tree_root);
+               btrfs_put_root(log_tree_root);
                return ret;
        } else if (!extent_buffer_uptodate(log_tree_root->node)) {
                btrfs_err(fs_info, "failed to read log tree");
                free_extent_buffer(log_tree_root->node);
-               btrfs_put_fs_root(log_tree_root);
+               btrfs_put_root(log_tree_root);
                return -EIO;
        }
        /* returns with log_tree_root freed on success */
@@ -2284,7 +2284,7 @@ static int btrfs_replay_log(struct btrfs_fs_info *fs_info,
                btrfs_handle_fs_error(fs_info, ret,
                                      "Failed to recover log tree");
                free_extent_buffer(log_tree_root->node);
-               btrfs_put_fs_root(log_tree_root);
+               btrfs_put_root(log_tree_root);
                return ret;
        }
 
@@ -3884,7 +3884,7 @@ void btrfs_drop_and_free_fs_root(struct btrfs_fs_info *fs_info,
        radix_tree_delete(&fs_info->fs_roots_radix,
                          (unsigned long)root->root_key.objectid);
        if (test_and_clear_bit(BTRFS_ROOT_IN_RADIX, &root->state))
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
        spin_unlock(&fs_info->fs_roots_radix_lock);
 
        if (btrfs_root_refs(&root->root_item) == 0)
@@ -3895,7 +3895,7 @@ void btrfs_drop_and_free_fs_root(struct btrfs_fs_info *fs_info,
                if (root->reloc_root) {
                        free_extent_buffer(root->reloc_root->node);
                        free_extent_buffer(root->reloc_root->commit_root);
-                       btrfs_put_fs_root(root->reloc_root);
+                       btrfs_put_root(root->reloc_root);
                        root->reloc_root = NULL;
                }
        }
@@ -3919,7 +3919,7 @@ void btrfs_free_fs_root(struct btrfs_root *root)
        free_extent_buffer(root->commit_root);
        kfree(root->free_ino_ctl);
        kfree(root->free_ino_pinned);
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 }
 
 int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info)
@@ -3949,7 +3949,7 @@ int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info)
                                continue;
                        }
                        /* grab all the search result for later use */
-                       gang[i] = btrfs_grab_fs_root(gang[i]);
+                       gang[i] = btrfs_grab_root(gang[i]);
                }
                srcu_read_unlock(&fs_info->subvol_srcu, index);
 
@@ -3960,7 +3960,7 @@ int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info)
                        err = btrfs_orphan_cleanup(gang[i]);
                        if (err)
                                break;
-                       btrfs_put_fs_root(gang[i]);
+                       btrfs_put_root(gang[i]);
                }
                root_objectid++;
        }
@@ -3968,7 +3968,7 @@ int btrfs_cleanup_fs_roots(struct btrfs_fs_info *fs_info)
        /* release the uncleaned roots due to error */
        for (; i < ret; i++) {
                if (gang[i])
-                       btrfs_put_fs_root(gang[i]);
+                       btrfs_put_root(gang[i]);
        }
        return err;
 }
@@ -4368,12 +4368,12 @@ static void btrfs_destroy_all_delalloc_inodes(struct btrfs_fs_info *fs_info)
        while (!list_empty(&splice)) {
                root = list_first_entry(&splice, struct btrfs_root,
                                         delalloc_root);
-               root = btrfs_grab_fs_root(root);
+               root = btrfs_grab_root(root);
                BUG_ON(!root);
                spin_unlock(&fs_info->delalloc_root_lock);
 
                btrfs_destroy_delalloc_inodes(root);
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
 
                spin_lock(&fs_info->delalloc_root_lock);
        }
index 04a29f9..db21ab6 100644 (file)
@@ -89,7 +89,7 @@ struct btrfs_root *btrfs_alloc_dummy_root(struct btrfs_fs_info *fs_info);
  * If you want to ensure the whole tree is safe, you should use
  *     fs_info->subvol_srcu
  */
-static inline struct btrfs_root *btrfs_grab_fs_root(struct btrfs_root *root)
+static inline struct btrfs_root *btrfs_grab_root(struct btrfs_root *root)
 {
        if (!root)
                return NULL;
@@ -98,7 +98,7 @@ static inline struct btrfs_root *btrfs_grab_fs_root(struct btrfs_root *root)
        return NULL;
 }
 
-static inline void btrfs_put_fs_root(struct btrfs_root *root)
+static inline void btrfs_put_root(struct btrfs_root *root)
 {
        if (!root)
                return;
index f07c230..657fd6a 100644 (file)
@@ -88,7 +88,7 @@ static struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
        key.offset = 0;
 
        inode = btrfs_iget(sb, &key, root);
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
        if (IS_ERR(inode)) {
                err = PTR_ERR(inode);
                goto fail;
index a7bc661..2b4c3ca 100644 (file)
@@ -5418,7 +5418,7 @@ int btrfs_drop_snapshot(struct btrfs_root *root,
        } else {
                free_extent_buffer(root->node);
                free_extent_buffer(root->commit_root);
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
        }
        root_dropped = true;
 out_end_trans:
index ba19b4d..3f7f532 100644 (file)
@@ -297,7 +297,7 @@ static int __btrfs_run_defrag_inode(struct btrfs_fs_info *fs_info,
        key.type = BTRFS_INODE_ITEM_KEY;
        key.offset = 0;
        inode = btrfs_iget(fs_info->sb, &key, inode_root);
-       btrfs_put_fs_root(inode_root);
+       btrfs_put_root(inode_root);
        if (IS_ERR(inode)) {
                ret = PTR_ERR(inode);
                goto cleanup;
index c79804c..bc43950 100644 (file)
@@ -1253,7 +1253,7 @@ int btrfs_clear_free_space_tree(struct btrfs_fs_info *fs_info)
 
        free_extent_buffer(free_space_root->node);
        free_extent_buffer(free_space_root->commit_root);
-       btrfs_put_fs_root(free_space_root);
+       btrfs_put_root(free_space_root);
 
        return btrfs_commit_transaction(trans);
 
index ab67862..945f8e2 100644 (file)
@@ -5401,7 +5401,7 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry)
                inode = btrfs_iget(dir->i_sb, &location, sub_root);
        }
        if (root != sub_root)
-               btrfs_put_fs_root(sub_root);
+               btrfs_put_root(sub_root);
        srcu_read_unlock(&fs_info->subvol_srcu, index);
 
        if (!IS_ERR(inode) && root != sub_root) {
@@ -9729,14 +9729,14 @@ int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, int nr)
        while (!list_empty(&splice) && nr) {
                root = list_first_entry(&splice, struct btrfs_root,
                                        delalloc_root);
-               root = btrfs_grab_fs_root(root);
+               root = btrfs_grab_root(root);
                BUG_ON(!root);
                list_move_tail(&root->delalloc_root,
                               &fs_info->delalloc_roots);
                spin_unlock(&fs_info->delalloc_root_lock);
 
                ret = start_delalloc_inodes(root, nr, false);
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
                if (ret < 0)
                        goto out;
 
index bb8106f..7b0c79e 100644 (file)
@@ -676,7 +676,7 @@ static noinline int create_subvol(struct inode *dir,
        btrfs_record_root_in_trans(trans, new_root);
 
        ret = btrfs_create_subvol_root(trans, new_root, root, new_dirid);
-       btrfs_put_fs_root(new_root);
+       btrfs_put_root(new_root);
        if (ret) {
                /* We potentially lose an unused inode item here */
                btrfs_abort_transaction(trans, ret);
@@ -870,7 +870,7 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir,
        d_instantiate(dentry, inode);
        ret = 0;
 fail:
-       btrfs_put_fs_root(pending_snapshot->snap);
+       btrfs_put_root(pending_snapshot->snap);
        btrfs_subvolume_release_metadata(fs_info, &pending_snapshot->block_rsv);
 dec_and_free:
        if (snapshot_force_cow)
@@ -2176,7 +2176,7 @@ static noinline int search_ioctl(struct inode *inode,
 
        if (sk->tree_id == 0) {
                /* search the root of the inode that was passed */
-               root = btrfs_grab_fs_root(BTRFS_I(inode)->root);
+               root = btrfs_grab_root(BTRFS_I(inode)->root);
        } else {
                key.objectid = sk->tree_id;
                key.type = BTRFS_ROOT_ITEM_KEY;
@@ -2210,7 +2210,7 @@ static noinline int search_ioctl(struct inode *inode,
                ret = 0;
 err:
        sk->nr_items = num_found;
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
        btrfs_free_path(path);
        return ret;
 }
@@ -2371,7 +2371,7 @@ static noinline int btrfs_search_path_in_tree(struct btrfs_fs_info *info,
        name[total_len] = '\0';
        ret = 0;
 out:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
        btrfs_free_path(path);
        return ret;
 }
@@ -2499,7 +2499,7 @@ static int btrfs_search_path_in_tree_user(struct inode *inode,
 
                memmove(args->path, ptr, total_len);
                args->path[total_len] = '\0';
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
                root = NULL;
                btrfs_release_path(path);
        }
@@ -2536,7 +2536,7 @@ static int btrfs_search_path_in_tree_user(struct inode *inode,
        args->name[item_len] = 0;
 
 out_put:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 out:
        btrfs_free_path(path);
        return ret;
@@ -2739,7 +2739,7 @@ static int btrfs_ioctl_get_subvol_info(struct file *file, void __user *argp)
                ret = -EFAULT;
 
 out:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 out_free:
        btrfs_free_path(path);
        kzfree(subvol_info);
@@ -4034,7 +4034,7 @@ static long btrfs_ioctl_default_subvol(struct file *file, void __user *argp)
        btrfs_set_fs_incompat(fs_info, DEFAULT_SUBVOL);
        btrfs_end_transaction(trans);
 out_free:
-       btrfs_put_fs_root(new_root);
+       btrfs_put_root(new_root);
        btrfs_free_path(path);
 out:
        mnt_drop_write_file(file);
index 66170c8..6329818 100644 (file)
@@ -580,7 +580,7 @@ void btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, u64 nr,
        while (!list_empty(&splice) && nr) {
                root = list_first_entry(&splice, struct btrfs_root,
                                        ordered_root);
-               root = btrfs_grab_fs_root(root);
+               root = btrfs_grab_root(root);
                BUG_ON(!root);
                list_move_tail(&root->ordered_root,
                               &fs_info->ordered_roots);
@@ -588,7 +588,7 @@ void btrfs_wait_ordered_roots(struct btrfs_fs_info *fs_info, u64 nr,
 
                done = btrfs_wait_ordered_extents(root, nr,
                                                  range_start, range_len);
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
 
                spin_lock(&fs_info->ordered_root_lock);
                if (nr != U64_MAX) {
index 09fc588..7e02cd6 100644 (file)
@@ -1040,7 +1040,7 @@ out_free_root:
        if (ret) {
                free_extent_buffer(quota_root->node);
                free_extent_buffer(quota_root->commit_root);
-               btrfs_put_fs_root(quota_root);
+               btrfs_put_root(quota_root);
        }
 out:
        if (ret) {
@@ -1106,7 +1106,7 @@ int btrfs_quota_disable(struct btrfs_fs_info *fs_info)
 
        free_extent_buffer(quota_root->node);
        free_extent_buffer(quota_root->commit_root);
-       btrfs_put_fs_root(quota_root);
+       btrfs_put_root(quota_root);
 
 end_trans:
        ret = btrfs_end_transaction(trans);
index 360f347..034f5f1 100644 (file)
@@ -303,7 +303,7 @@ static void free_backref_node(struct backref_cache *cache,
 {
        if (node) {
                cache->nr_nodes--;
-               btrfs_put_fs_root(node->root);
+               btrfs_put_root(node->root);
                kfree(node);
        }
 }
@@ -637,7 +637,7 @@ static struct btrfs_root *find_reloc_root(struct reloc_control *rc,
                root = (struct btrfs_root *)node->data;
        }
        spin_unlock(&rc->reloc_root_tree.lock);
-       return btrfs_grab_fs_root(root);
+       return btrfs_grab_root(root);
 }
 
 static int is_cowonly_root(u64 root_objectid)
@@ -948,7 +948,7 @@ again:
                        ASSERT(btrfs_root_bytenr(&root->root_item) ==
                               cur->bytenr);
                        if (should_ignore_root(root)) {
-                               btrfs_put_fs_root(root);
+                               btrfs_put_root(root);
                                list_add(&cur->list, &useless);
                        } else {
                                cur->root = root;
@@ -965,7 +965,7 @@ again:
                ret = btrfs_search_slot(NULL, root, node_key, path2, 0, 0);
                path2->lowest_level = 0;
                if (ret < 0) {
-                       btrfs_put_fs_root(root);
+                       btrfs_put_root(root);
                        err = ret;
                        goto out;
                }
@@ -981,7 +981,7 @@ again:
                                  root->root_key.objectid,
                                  node_key->objectid, node_key->type,
                                  node_key->offset);
-                       btrfs_put_fs_root(root);
+                       btrfs_put_root(root);
                        err = -ENOENT;
                        goto out;
                }
@@ -994,7 +994,7 @@ again:
                                ASSERT(btrfs_root_bytenr(&root->root_item) ==
                                       lower->bytenr);
                                if (should_ignore_root(root)) {
-                                       btrfs_put_fs_root(root);
+                                       btrfs_put_root(root);
                                        list_add(&lower->list, &useless);
                                } else {
                                        lower->root = root;
@@ -1004,7 +1004,7 @@ again:
 
                        edge = alloc_backref_edge(cache);
                        if (!edge) {
-                               btrfs_put_fs_root(root);
+                               btrfs_put_root(root);
                                err = -ENOMEM;
                                goto out;
                        }
@@ -1014,7 +1014,7 @@ again:
                        if (!rb_node) {
                                upper = alloc_backref_node(cache);
                                if (!upper) {
-                                       btrfs_put_fs_root(root);
+                                       btrfs_put_root(root);
                                        free_backref_edge(cache, edge);
                                        err = -ENOMEM;
                                        goto out;
@@ -1063,7 +1063,7 @@ again:
                        edge->node[UPPER] = upper;
 
                        if (rb_node) {
-                               btrfs_put_fs_root(root);
+                               btrfs_put_root(root);
                                break;
                        }
                        lower = upper;
@@ -1302,7 +1302,7 @@ static int clone_backref_node(struct btrfs_trans_handle *trans,
        new_node->level = node->level;
        new_node->lowest = node->lowest;
        new_node->checked = 1;
-       new_node->root = btrfs_grab_fs_root(dest);
+       new_node->root = btrfs_grab_root(dest);
        ASSERT(new_node->root);
 
        if (!node->lowest) {
@@ -2271,7 +2271,7 @@ static void insert_dirty_subvol(struct btrfs_trans_handle *trans,
        btrfs_update_reloc_root(trans, root);
 
        if (list_empty(&root->reloc_dirty_list)) {
-               btrfs_grab_fs_root(root);
+               btrfs_grab_root(root);
                list_add_tail(&root->reloc_dirty_list, &rc->dirty_subvol_roots);
        }
 }
@@ -2303,7 +2303,7 @@ static int clean_dirty_subvols(struct reloc_control *rc)
                         */
                        smp_wmb();
                        clear_bit(BTRFS_ROOT_DEAD_RELOC_TREE, &root->state);
-                       btrfs_put_fs_root(root);
+                       btrfs_put_root(root);
                } else {
                        /* Orphan reloc tree, just clean it up */
                        ret2 = btrfs_drop_snapshot(root, NULL, 0, 1);
@@ -2528,7 +2528,7 @@ again:
                btrfs_update_reloc_root(trans, root);
 
                list_add(&reloc_root->root_list, &reloc_roots);
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
        }
 
        list_splice(&reloc_roots, &rc->reloc_roots);
@@ -2590,7 +2590,7 @@ again:
                        BUG_ON(root->reloc_root != reloc_root);
 
                        ret = merge_reloc_root(rc, root);
-                       btrfs_put_fs_root(root);
+                       btrfs_put_root(root);
                        if (ret) {
                                if (list_empty(&reloc_root->root_list))
                                        list_add_tail(&reloc_root->root_list,
@@ -2651,7 +2651,7 @@ static int record_reloc_root_in_trans(struct btrfs_trans_handle *trans,
        BUG_ON(IS_ERR(root));
        BUG_ON(root->reloc_root != reloc_root);
        ret = btrfs_record_root_in_trans(trans, root);
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 
        return ret;
 }
@@ -2686,8 +2686,8 @@ struct btrfs_root *select_reloc_root(struct btrfs_trans_handle *trans,
                        BUG_ON(next->new_bytenr);
                        BUG_ON(!list_empty(&next->list));
                        next->new_bytenr = root->node->start;
-                       btrfs_put_fs_root(next->root);
-                       next->root = btrfs_grab_fs_root(root);
+                       btrfs_put_root(next->root);
+                       next->root = btrfs_grab_root(root);
                        ASSERT(next->root);
                        list_add_tail(&next->list,
                                      &rc->backref_cache.changed);
@@ -3160,8 +3160,8 @@ static int relocate_tree_block(struct btrfs_trans_handle *trans,
                        btrfs_record_root_in_trans(trans, root);
                        root = root->reloc_root;
                        node->new_bytenr = root->node->start;
-                       btrfs_put_fs_root(node->root);
-                       node->root = btrfs_grab_fs_root(root);
+                       btrfs_put_root(node->root);
+                       node->root = btrfs_grab_root(root);
                        ASSERT(node->root);
                        list_add_tail(&node->list, &rc->backref_cache.changed);
                } else {
@@ -3857,7 +3857,7 @@ next:
 
        }
 out:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 out_free:
        btrfs_free_path(path);
        return err;
@@ -4343,7 +4343,7 @@ struct inode *create_reloc_inode(struct btrfs_fs_info *fs_info,
 
        trans = btrfs_start_transaction(root, 6);
        if (IS_ERR(trans)) {
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
                return ERR_CAST(trans);
        }
 
@@ -4363,7 +4363,7 @@ struct inode *create_reloc_inode(struct btrfs_fs_info *fs_info,
 
        err = btrfs_orphan_add(trans, BTRFS_I(inode));
 out:
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
        btrfs_end_transaction(trans);
        btrfs_btree_balance_dirty(fs_info);
        if (err) {
@@ -4635,7 +4635,7 @@ int btrfs_recover_relocation(struct btrfs_root *root)
                                        goto out;
                                }
                        } else {
-                               btrfs_put_fs_root(fs_root);
+                               btrfs_put_root(fs_root);
                        }
                }
 
@@ -4689,7 +4689,7 @@ int btrfs_recover_relocation(struct btrfs_root *root)
                err = __add_reloc_root(reloc_root);
                BUG_ON(err < 0); /* -ENOMEM or logic error */
                fs_root->reloc_root = reloc_root;
-               btrfs_put_fs_root(fs_root);
+               btrfs_put_root(fs_root);
        }
 
        err = btrfs_commit_transaction(trans);
@@ -4725,7 +4725,7 @@ out:
                        err = PTR_ERR(fs_root);
                } else {
                        err = btrfs_orphan_cleanup(fs_root);
-                       btrfs_put_fs_root(fs_root);
+                       btrfs_put_root(fs_root);
                }
        }
        return err;
index 2ab2a02..b379043 100644 (file)
@@ -287,7 +287,7 @@ int btrfs_find_orphan_roots(struct btrfs_fs_info *fs_info)
                        set_bit(BTRFS_ROOT_DEAD_TREE, &root->state);
                        btrfs_add_dead_root(root);
                }
-               btrfs_put_fs_root(root);
+               btrfs_put_root(root);
        }
 
        btrfs_free_path(path);
index 8593885..16aa680 100644 (file)
@@ -668,7 +668,7 @@ static int scrub_print_warning_inode(u64 inum, u64 offset, u64 root,
 
        ret = btrfs_search_slot(NULL, local_root, &key, swarn->path, 0, 0);
        if (ret) {
-               btrfs_put_fs_root(local_root);
+               btrfs_put_root(local_root);
                btrfs_release_path(swarn->path);
                goto err;
        }
@@ -689,7 +689,7 @@ static int scrub_print_warning_inode(u64 inum, u64 offset, u64 root,
        ipath = init_ipath(4096, local_root, swarn->path);
        memalloc_nofs_restore(nofs_flag);
        if (IS_ERR(ipath)) {
-               btrfs_put_fs_root(local_root);
+               btrfs_put_root(local_root);
                ret = PTR_ERR(ipath);
                ipath = NULL;
                goto err;
@@ -713,7 +713,7 @@ static int scrub_print_warning_inode(u64 inum, u64 offset, u64 root,
                                  min(isize - offset, (u64)PAGE_SIZE), nlink,
                                  (char *)(unsigned long)ipath->fspath->val[i]);
 
-       btrfs_put_fs_root(local_root);
+       btrfs_put_root(local_root);
        free_ipath(ipath);
        return 0;
 
index 3e243ad..6b86841 100644 (file)
@@ -7205,7 +7205,7 @@ long btrfs_ioctl_send(struct file *mnt_file, struct btrfs_ioctl_send_args *arg)
                        if (!btrfs_root_readonly(clone_root) ||
                            btrfs_root_dead(clone_root)) {
                                spin_unlock(&clone_root->root_item_lock);
-                               btrfs_put_fs_root(clone_root);
+                               btrfs_put_root(clone_root);
                                srcu_read_unlock(&fs_info->subvol_srcu, index);
                                ret = -EPERM;
                                goto out;
@@ -7213,7 +7213,7 @@ long btrfs_ioctl_send(struct file *mnt_file, struct btrfs_ioctl_send_args *arg)
                        if (clone_root->dedupe_in_progress) {
                                dedupe_in_progress_warn(clone_root);
                                spin_unlock(&clone_root->root_item_lock);
-                               btrfs_put_fs_root(clone_root);
+                               btrfs_put_root(clone_root);
                                srcu_read_unlock(&fs_info->subvol_srcu, index);
                                ret = -EAGAIN;
                                goto out;
@@ -7270,7 +7270,7 @@ long btrfs_ioctl_send(struct file *mnt_file, struct btrfs_ioctl_send_args *arg)
         * for possible clone sources.
         */
        sctx->clone_roots[sctx->clone_roots_cnt++].root =
-               btrfs_grab_fs_root(sctx->send_root);
+               btrfs_grab_root(sctx->send_root);
 
        /* We do a bsearch later */
        sort(sctx->clone_roots, sctx->clone_roots_cnt,
@@ -7358,20 +7358,20 @@ out:
                for (i = 0; i < sctx->clone_roots_cnt; i++) {
                        btrfs_root_dec_send_in_progress(
                                        sctx->clone_roots[i].root);
-                       btrfs_put_fs_root(sctx->clone_roots[i].root);
+                       btrfs_put_root(sctx->clone_roots[i].root);
                }
        } else {
                for (i = 0; sctx && i < clone_sources_to_rollback; i++) {
                        btrfs_root_dec_send_in_progress(
                                        sctx->clone_roots[i].root);
-                       btrfs_put_fs_root(sctx->clone_roots[i].root);
+                       btrfs_put_root(sctx->clone_roots[i].root);
                }
 
                btrfs_root_dec_send_in_progress(send_root);
        }
        if (sctx && !IS_ERR_OR_NULL(sctx->parent_root)) {
                btrfs_root_dec_send_in_progress(sctx->parent_root);
-               btrfs_put_fs_root(sctx->parent_root);
+               btrfs_put_root(sctx->parent_root);
        }
 
        kvfree(clone_sources_tmp);
index d6629e6..6420df4 100644 (file)
@@ -1144,7 +1144,7 @@ static char *get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
                        ptr[0] = '/';
                        btrfs_release_path(path);
                }
-               btrfs_put_fs_root(fs_root);
+               btrfs_put_root(fs_root);
                fs_root = NULL;
        }
 
@@ -1158,7 +1158,7 @@ static char *get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
        return name;
 
 err:
-       btrfs_put_fs_root(fs_root);
+       btrfs_put_root(fs_root);
        btrfs_free_path(path);
        kfree(name);
        return ERR_PTR(ret);
index 609abca..69c9afe 100644 (file)
@@ -209,7 +209,7 @@ void btrfs_free_dummy_root(struct btrfs_root *root)
                /* One for allocate_extent_buffer */
                free_extent_buffer(root->node);
        }
-       btrfs_put_fs_root(root);
+       btrfs_put_root(root);
 }
 
 struct btrfs_block_group *
index 54031a3..4ea47ba 100644 (file)
@@ -3289,7 +3289,7 @@ static void free_log_tree(struct btrfs_trans_handle *trans,
        clear_extent_bits(&log->dirty_log_pages, 0, (u64)-1,
                          EXTENT_DIRTY | EXTENT_NEW | EXTENT_NEED_WAIT);
        free_extent_buffer(log->node);
-       btrfs_put_fs_root(log);
+       btrfs_put_root(log);
 }
 
 /*
@@ -6183,7 +6183,7 @@ again:
                                                        log->node->len);
                        free_extent_buffer(log->node);
                        free_extent_buffer(log->commit_root);
-                       btrfs_put_fs_root(log);
+                       btrfs_put_root(log);
 
                        if (!ret)
                                goto next;
@@ -6219,10 +6219,10 @@ again:
                }
 
                wc.replay_dest->log_root = NULL;
-               btrfs_put_fs_root(wc.replay_dest);
+               btrfs_put_root(wc.replay_dest);
                free_extent_buffer(log->node);
                free_extent_buffer(log->commit_root);
-               btrfs_put_fs_root(log);
+               btrfs_put_root(log);
 
                if (ret)
                        goto error;
@@ -6256,7 +6256,7 @@ next:
        free_extent_buffer(log_root_tree->node);
        log_root_tree->log_root = NULL;
        clear_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags);
-       btrfs_put_fs_root(log_root_tree);
+       btrfs_put_root(log_root_tree);
 
        return 0;
 error:
index 089af57..b092021 100644 (file)
@@ -4443,7 +4443,7 @@ static int btrfs_check_uuid_tree_entry(struct btrfs_fs_info *fs_info,
                        ret = 1;
                break;
        }
-       btrfs_put_fs_root(subvol_root);
+       btrfs_put_root(subvol_root);
 out:
        return ret;
 }