btrfs: initialize key where it's used when running delayed data ref
authorFilipe Manana <fdmanana@suse.com>
Fri, 8 Sep 2023 17:20:27 +0000 (18:20 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 12 Oct 2023 14:44:06 +0000 (16:44 +0200)
At run_delayed_data_ref() we are always initializing a key but the key
is only needed and used if we are inserting a new extent. So move the
declaration and initialization of the key to 'if' branch where it's used.
Also rename the key from 'ins' to 'key', as it's a more clear name.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c

index 2d771a59cedb08f7a6b8b2f482dfbcd3a785851d..e9ee06e1d5f3a5e81d7ff8326a9e9c71080f8df0 100644 (file)
@@ -1535,15 +1535,10 @@ static int run_delayed_data_ref(struct btrfs_trans_handle *trans,
 {
        int ret = 0;
        struct btrfs_delayed_data_ref *ref;
-       struct btrfs_key ins;
        u64 parent = 0;
        u64 ref_root = 0;
        u64 flags = 0;
 
-       ins.objectid = node->bytenr;
-       ins.offset = node->num_bytes;
-       ins.type = BTRFS_EXTENT_ITEM_KEY;
-
        ref = btrfs_delayed_node_to_data_ref(node);
        trace_run_delayed_data_ref(trans->fs_info, node, ref, node->action);
 
@@ -1552,11 +1547,18 @@ static int run_delayed_data_ref(struct btrfs_trans_handle *trans,
        ref_root = ref->root;
 
        if (node->action == BTRFS_ADD_DELAYED_REF && insert_reserved) {
+               struct btrfs_key key;
+
                if (extent_op)
                        flags |= extent_op->flags_to_set;
+
+               key.objectid = node->bytenr;
+               key.type = BTRFS_EXTENT_ITEM_KEY;
+               key.offset = node->num_bytes;
+
                ret = alloc_reserved_file_extent(trans, parent, ref_root,
                                                 flags, ref->objectid,
-                                                ref->offset, &ins,
+                                                ref->offset, &key,
                                                 node->ref_mod);
        } else if (node->action == BTRFS_ADD_DELAYED_REF) {
                ret = __btrfs_inc_extent_ref(trans, node, parent, ref_root,