]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
btrfs: BTRFS_PATH_AUTO_FREE in orphan.c
authorLeo Martins <loemra.dev@gmail.com>
Tue, 3 Sep 2024 18:19:07 +0000 (11:19 -0700)
committerDavid Sterba <dsterba@suse.com>
Tue, 10 Sep 2024 14:51:22 +0000 (16:51 +0200)
All cleanup paths lead to btrfs_path_free so path can be defined with
the automatic freeing callback in the following functions:

- btrfs_insert_orphan_item()
- btrfs_del_orphan_item()

Signed-off-by: Leo Martins <loemra.dev@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/orphan.c

index 6195a2215b8feebf236373afb5e51624322d4907..9f3ad124104f1ff87c3af3ef3109ae59eee17f49 100644 (file)
@@ -9,9 +9,8 @@
 int btrfs_insert_orphan_item(struct btrfs_trans_handle *trans,
                             struct btrfs_root *root, u64 offset)
 {
-       struct btrfs_path *path;
+       BTRFS_PATH_AUTO_FREE(path);
        struct btrfs_key key;
-       int ret = 0;
 
        key.objectid = BTRFS_ORPHAN_OBJECTID;
        key.type = BTRFS_ORPHAN_ITEM_KEY;
@@ -21,16 +20,13 @@ int btrfs_insert_orphan_item(struct btrfs_trans_handle *trans,
        if (!path)
                return -ENOMEM;
 
-       ret = btrfs_insert_empty_item(trans, root, path, &key, 0);
-
-       btrfs_free_path(path);
-       return ret;
+       return btrfs_insert_empty_item(trans, root, path, &key, 0);
 }
 
 int btrfs_del_orphan_item(struct btrfs_trans_handle *trans,
                          struct btrfs_root *root, u64 offset)
 {
-       struct btrfs_path *path;
+       BTRFS_PATH_AUTO_FREE(path);
        struct btrfs_key key;
        int ret = 0;
 
@@ -44,15 +40,9 @@ int btrfs_del_orphan_item(struct btrfs_trans_handle *trans,
 
        ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
        if (ret < 0)
-               goto out;
-       if (ret) { /* JDM: Really? */
-               ret = -ENOENT;
-               goto out;
-       }
-
-       ret = btrfs_del_item(trans, root, path);
+               return ret;
+       if (ret)
+               return -ENOENT;
 
-out:
-       btrfs_free_path(path);
-       return ret;
+       return btrfs_del_item(trans, root, path);
 }