Commit 182c79fc authored by Josef Bacik's avatar Josef Bacik Committed by David Sterba

btrfs: use btrfs_read_node_slot in btrfs_qgroup_trace_subtree

We're open-coding btrfs_read_node_slot() here, replace with the helper.
Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3acfbd6a
...@@ -2232,30 +2232,21 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans, ...@@ -2232,30 +2232,21 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
level = root_level; level = root_level;
while (level >= 0) { while (level >= 0) {
if (path->nodes[level] == NULL) { if (path->nodes[level] == NULL) {
struct btrfs_key first_key;
int parent_slot; int parent_slot;
u64 child_gen;
u64 child_bytenr; u64 child_bytenr;
/* /*
* We need to get child blockptr/gen from parent before * We need to get child blockptr from parent before we
* we can read it. * can read it.
*/ */
eb = path->nodes[level + 1]; eb = path->nodes[level + 1];
parent_slot = path->slots[level + 1]; parent_slot = path->slots[level + 1];
child_bytenr = btrfs_node_blockptr(eb, parent_slot); 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, eb = btrfs_read_node_slot(eb, parent_slot);
level, &first_key);
if (IS_ERR(eb)) { if (IS_ERR(eb)) {
ret = PTR_ERR(eb); ret = PTR_ERR(eb);
goto out; goto out;
} else if (!extent_buffer_uptodate(eb)) {
free_extent_buffer(eb);
ret = -EIO;
goto out;
} }
path->nodes[level] = eb; path->nodes[level] = eb;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment