]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
btrfs: simplify return variables in lookup_extent_data_ref()
authorAnand Jain <anand.jain@oracle.com>
Tue, 19 Mar 2024 14:55:31 +0000 (20:25 +0530)
committerDavid Sterba <dsterba@suse.com>
Tue, 7 May 2024 19:31:08 +0000 (21:31 +0200)
First, drop err instead reuse ret, choose to return the error instead of
goto fail and then return the same error. Do not initialize the ret
until where it has to be initialized. Slight logic change in handling
the btrfs_search_slot() and btrfs_next_leaf() return value.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c

index 023920d0d971e765dd2c18ed9bb2c6ad9ae8bd3a..78dc94a97e350ac53a53646a88b046dfcc42a2c0 100644 (file)
@@ -446,9 +446,8 @@ static noinline int lookup_extent_data_ref(struct btrfs_trans_handle *trans,
        struct btrfs_extent_data_ref *ref;
        struct extent_buffer *leaf;
        u32 nritems;
-       int ret;
        int recow;
-       int err = -ENOENT;
+       int ret;
 
        key.objectid = bytenr;
        if (parent) {
@@ -462,26 +461,26 @@ static noinline int lookup_extent_data_ref(struct btrfs_trans_handle *trans,
 again:
        recow = 0;
        ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
-       if (ret < 0) {
-               err = ret;
-               goto fail;
-       }
+       if (ret < 0)
+               return ret;
 
        if (parent) {
-               if (!ret)
-                       return 0;
-               goto fail;
+               if (ret)
+                       return -ENOENT;
+               return 0;
        }
 
+       ret = -ENOENT;
        leaf = path->nodes[0];
        nritems = btrfs_header_nritems(leaf);
        while (1) {
                if (path->slots[0] >= nritems) {
                        ret = btrfs_next_leaf(root, path);
-                       if (ret < 0)
-                               err = ret;
-                       if (ret)
-                               goto fail;
+                       if (ret) {
+                               if (ret > 1)
+                                       return -ENOENT;
+                               return ret;
+                       }
 
                        leaf = path->nodes[0];
                        nritems = btrfs_header_nritems(leaf);
@@ -502,13 +501,13 @@ again:
                                btrfs_release_path(path);
                                goto again;
                        }
-                       err = 0;
+                       ret = 0;
                        break;
                }
                path->slots[0]++;
        }
 fail:
-       return err;
+       return ret;
 }
 
 static noinline int insert_extent_data_ref(struct btrfs_trans_handle *trans,