btrfs: use BTRFS_PATH_AUTO_FREE in btrfs_insert_inode_extref()
authorDavid Sterba <dsterba@suse.com>
Tue, 1 Apr 2025 23:18:12 +0000 (01:18 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:42 +0000 (14:30 +0200)
This is the trivial pattern for path auto free, initialize at the
beginning and free at the end with simple goto -> return conversions.

Reviewed-by: Daniel Vacek <neelx@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode-item.c

index b920250e9e8ff7c323ed388c168ca63abc405a32..a61c3540d67bada7debea558d87c20321aaf6236 100644 (file)
@@ -252,7 +252,7 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans,
        int ret;
        int ins_len = name->len + sizeof(*extref);
        unsigned long ptr;
-       struct btrfs_path *path;
+       BTRFS_PATH_AUTO_FREE(path);
        struct btrfs_key key;
        struct extent_buffer *leaf;
 
@@ -271,13 +271,13 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans,
                                                   path->slots[0],
                                                   ref_objectid,
                                                   name))
-                       goto out;
+                       return ret;
 
                btrfs_extend_item(trans, path, ins_len);
                ret = 0;
        }
        if (ret < 0)
-               goto out;
+               return ret;
 
        leaf = path->nodes[0];
        ptr = (unsigned long)btrfs_item_ptr(leaf, path->slots[0], char);
@@ -290,9 +290,8 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans,
 
        ptr = (unsigned long)&extref->name;
        write_extent_buffer(path->nodes[0], name->name, ptr, name->len);
-out:
-       btrfs_free_path(path);
-       return ret;
+
+       return 0;
 }
 
 /* Will return 0, -ENOMEM, -EMLINK, or -EEXIST or anything from the CoW path */