Commit 77d25534 authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba

btrfs: eliminate insert label in add_falloc_range

By way of inverting the list_empty conditional the insert label can be
eliminated, making the function's flow entirely linear.
Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3d078efa
...@@ -3050,19 +3050,18 @@ static int add_falloc_range(struct list_head *head, u64 start, u64 len) ...@@ -3050,19 +3050,18 @@ static int add_falloc_range(struct list_head *head, u64 start, u64 len)
{ {
struct falloc_range *range = NULL; struct falloc_range *range = NULL;
if (list_empty(head)) if (!list_empty(head)) {
goto insert; /*
* As fallocate iterates by bytenr order, we only need to check
/* * the last range.
* 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 = list_last_entry(head, struct falloc_range, list); range->len += len;
if (range->start + range->len == start) { return 0;
range->len += len; }
return 0;
} }
insert:
range = kmalloc(sizeof(*range), GFP_KERNEL); range = kmalloc(sizeof(*range), GFP_KERNEL);
if (!range) if (!range)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment