btrfs: get rid of goto in alloc_test_extent_buffer()
authorDaniel Vacek <neelx@suse.com>
Fri, 25 Apr 2025 07:23:57 +0000 (09:23 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 12:30:50 +0000 (14:30 +0200)
The `free_eb` label is used only once. Simplify by moving the code inplace.

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

index a3f7e036437a30b85f6442127dccd01c8b6c5bf5..8467b0128c9352bb38040d7497002e07a08b6eda 100644 (file)
@@ -3031,15 +3031,13 @@ again:
                        goto again;
                }
                xa_unlock_irq(&fs_info->buffer_tree);
-               goto free_eb;
+               btrfs_release_extent_buffer(eb);
+               return exists;
        }
        xa_unlock_irq(&fs_info->buffer_tree);
        check_buffer_tree_ref(eb);
 
        return eb;
-free_eb:
-       btrfs_release_extent_buffer(eb);
-       return exists;
 #else
        /* Stub to avoid linker error when compiled with optimizations turned off. */
        return NULL;