btrfs: use btrfs_read_node_slot in walk_down_tree
authorJosef Bacik <josef@toxicpanda.com>
Thu, 5 Nov 2020 15:45:14 +0000 (10:45 -0500)
committerDavid Sterba <dsterba@suse.com>
Tue, 8 Dec 2020 14:54:06 +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/ref-verify.c

index 488bc3dd3c2bd38b8177498cc1f9fd2ff3abf5ae..4b9b6c52a83b27e81ea5cc302ffb98a750097c7d 100644 (file)
@@ -551,29 +551,15 @@ static int process_leaf(struct btrfs_root *root,
 static int walk_down_tree(struct btrfs_root *root, struct btrfs_path *path,
                          int level, u64 *bytenr, u64 *num_bytes)
 {
-       struct btrfs_fs_info *fs_info = root->fs_info;
        struct extent_buffer *eb;
-       u64 block_bytenr, gen;
        int ret = 0;
 
        while (level >= 0) {
                if (level) {
-                       struct btrfs_key first_key;
-
-                       block_bytenr = btrfs_node_blockptr(path->nodes[level],
-                                                          path->slots[level]);
-                       gen = btrfs_node_ptr_generation(path->nodes[level],
-                                                       path->slots[level]);
-                       btrfs_node_key_to_cpu(path->nodes[level], &first_key,
-                                             path->slots[level]);
-                       eb = read_tree_block(fs_info, block_bytenr, gen,
-                                            level - 1, &first_key);
+                       eb = btrfs_read_node_slot(path->nodes[level],
+                                                 path->slots[level]);
                        if (IS_ERR(eb))
                                return PTR_ERR(eb);
-                       if (!extent_buffer_uptodate(eb)) {
-                               free_extent_buffer(eb);
-                               return -EIO;
-                       }
                        btrfs_tree_read_lock(eb);
                        path->nodes[level-1] = eb;
                        path->slots[level-1] = 0;