btrfs: get rid of label and goto at insert_delayed_ref()
authorFilipe Manana <fdmanana@suse.com>
Mon, 29 May 2023 15:17:02 +0000 (16:17 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Jun 2023 11:59:31 +0000 (13:59 +0200)
At insert_delayed_ref() there's no point of having a label and goto in the
case we were able to insert the delayed ref head. We can just add the code
under label to the if statement's body and return immediately, and also
there is no need to track the return value in a variable, we can just
return a literal true or false value directly. So do those changes.

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/delayed-ref.c

index c3da7c3..e4579e6 100644 (file)
@@ -565,15 +565,18 @@ static bool insert_delayed_ref(struct btrfs_delayed_ref_root *root,
 {
        struct btrfs_delayed_ref_node *exist;
        int mod;
-       bool ret = false;
 
        spin_lock(&href->lock);
        exist = tree_insert(&href->ref_tree, ref);
-       if (!exist)
-               goto inserted;
+       if (!exist) {
+               if (ref->action == BTRFS_ADD_DELAYED_REF)
+                       list_add_tail(&ref->add_list, &href->ref_add_list);
+               atomic_inc(&root->num_entries);
+               spin_unlock(&href->lock);
+               return false;
+       }
 
        /* Now we are sure we can merge */
-       ret = true;
        if (exist->action == ref->action) {
                mod = ref->ref_mod;
        } else {
@@ -600,13 +603,7 @@ static bool insert_delayed_ref(struct btrfs_delayed_ref_root *root,
        if (exist->ref_mod == 0)
                drop_delayed_ref(root, href, exist);
        spin_unlock(&href->lock);
-       return ret;
-inserted:
-       if (ref->action == BTRFS_ADD_DELAYED_REF)
-               list_add_tail(&ref->add_list, &href->ref_add_list);
-       atomic_inc(&root->num_entries);
-       spin_unlock(&href->lock);
-       return ret;
+       return true;
 }
 
 /*