btrfs: eliminate insert label in add_falloc_range
authorNikolay Borisov <nborisov@suse.com>
Tue, 1 Jun 2021 06:08:15 +0000 (09:08 +0300)
committerDavid Sterba <dsterba@suse.com>
Mon, 21 Jun 2021 13:19:10 +0000 (15:19 +0200)
By way of inverting the list_empty conditional the insert label can be
eliminated, making the function's flow entirely linear.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/file.c

index d0081b2..28a05ba 100644 (file)
@@ -3050,19 +3050,18 @@ static int add_falloc_range(struct list_head *head, u64 start, u64 len)
 {
        struct falloc_range *range = NULL;
 
-       if (list_empty(head))
-               goto insert;
-
-       /*
-        * As fallocate iterate by bytenr order, we only need to check
-        * the last range.
-        */
-       range = list_last_entry(head, struct falloc_range, list);
-       if (range->start + range->len == start) {
-               range->len += len;
-               return 0;
+       if (!list_empty(head)) {
+               /*
+                * As fallocate iterates by bytenr order, we only need to check
+                * the last range.
+                */
+               range = list_last_entry(head, struct falloc_range, list);
+               if (range->start + range->len == start) {
+                       range->len += len;
+                       return 0;
+               }
        }
-insert:
+
        range = kmalloc(sizeof(*range), GFP_KERNEL);
        if (!range)
                return -ENOMEM;