]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
btrfs: use btrfs_read_node_slot in btrfs_qgroup_trace_subtree
authorJosef Bacik <josef@toxicpanda.com>
Thu, 5 Nov 2020 15:45:17 +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 1f706035d7b9fff3db65de8ebe834aeee3dfc487..9ba1e62a65330a93c642a4491cea99fb4611a129 100644 (file)
@@ -2232,30 +2232,21 @@ walk_down:
        level = root_level;
        while (level >= 0) {
                if (path->nodes[level] == NULL) {
-                       struct btrfs_key first_key;
                        int parent_slot;
-                       u64 child_gen;
                        u64 child_bytenr;
 
                        /*
-                        * We need to get child blockptr/gen from parent before
-                        * we can read it.
+                        * We need to get child blockptr from parent before we
+                        * can read it.
                          */
                        eb = path->nodes[level + 1];
                        parent_slot = path->slots[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);
 
-                       eb = read_tree_block(fs_info, child_bytenr, child_gen,
-                                            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;
                        }
 
                        path->nodes[level] = eb;