We already have the extent buffer's level in an argument, there's no need
to first ensure the extent buffer's data is loaded (by calling
btrfs_read_extent_buffer()) and then call btrfs_header_level() to check
the level. So use the level argument and do the check before calling
btrfs_read_extent_buffer().
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
int i;
int ret;
+ if (level != 0)
+ return 0;
+
ret = btrfs_read_extent_buffer(eb, &check);
if (ret) {
btrfs_abort_transaction(trans, ret);
return ret;
}
- level = btrfs_header_level(eb);
-
- if (level != 0)
- return 0;
-
path = btrfs_alloc_path();
if (!path) {
btrfs_abort_transaction(trans, -ENOMEM);