]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: use btrfs_read_node_slot in qgroup_trace_new_subtree_blocks
authorJosef Bacik <josef@toxicpanda.com>
Thu, 5 Nov 2020 15:45:16 +0000 (10:45 -0500)
committerDavid Sterba <dsterba@suse.com>
Tue, 8 Dec 2020 14:54:07 +0000 (15:54 +0100)
We're open-coding btrfs_read_node_slot() here, replace with the helper.

Reviewed-by: Filipe Manana <fdmanana@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>
fs/btrfs/qgroup.c

index db6165e130c5902ad97c204582e1e239e77c4839..1f706035d7b9fff3db65de8ebe834aeee3dfc487 100644 (file)
@@ -2052,10 +2052,8 @@ static int qgroup_trace_new_subtree_blocks(struct btrfs_trans_handle* trans,
 
        /* Read the tree block if needed */
        if (dst_path->nodes[cur_level] == NULL) {
-               struct btrfs_key first_key;
                int parent_slot;
                u64 child_gen;
-               u64 child_bytenr;
 
                /*
                 * dst_path->nodes[root_level] must be initialized before
@@ -2074,23 +2072,16 @@ static int qgroup_trace_new_subtree_blocks(struct btrfs_trans_handle* trans,
                  */
                eb = dst_path->nodes[cur_level + 1];
                parent_slot = dst_path->slots[cur_level + 1];
-               child_bytenr = btrfs_node_blockptr(eb, parent_slot);
                child_gen = btrfs_node_ptr_generation(eb, parent_slot);
-               btrfs_node_key_to_cpu(eb, &first_key, parent_slot);
 
                /* This node is old, no need to trace */
                if (child_gen < last_snapshot)
                        goto out;
 
-               eb = read_tree_block(fs_info, child_bytenr, child_gen,
-                                    cur_level, &first_key);
+               eb = btrfs_read_node_slot(eb, parent_slot);
                if (IS_ERR(eb)) {
                        ret = PTR_ERR(eb);
                        goto out;
-               } else if (!extent_buffer_uptodate(eb)) {
-                       free_extent_buffer(eb);
-                       ret = -EIO;
-                       goto out;
                }
 
                dst_path->nodes[cur_level] = eb;