diff options
author | Nikolay Borisov <nborisov@suse.com> | 2021-11-23 09:23:42 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-01-03 15:09:46 +0100 |
commit | f1a8fc626586fcc62dd7eb44ebeddb4517784015 (patch) | |
tree | 8196ea16f7306c21945ab51d5ebd705fe2dcc902 /fs/btrfs | |
parent | bf08387fb462ac7ab7dd4d3e4ac32728585bf625 (diff) | |
download | linux-f1a8fc626586fcc62dd7eb44ebeddb4517784015.tar.bz2 |
btrfs: eliminate if in main loop in tree_search_offset
Reshuffle the code inside the first loop of tree_search_offset so that
one if() is eliminated and the becomes more linear.
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/free-space-cache.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index bbe0b36a452a..a45017b12185 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -1636,15 +1636,10 @@ tree_search_offset(struct btrfs_free_space_ctl *ctl, u64 offset, int bitmap_only, int fuzzy) { struct rb_node *n = ctl->free_space_offset.rb_node; - struct btrfs_free_space *entry, *prev = NULL; + struct btrfs_free_space *entry = NULL, *prev = NULL; /* find entry that is closest to the 'offset' */ - while (1) { - if (!n) { - entry = NULL; - break; - } - + while (n) { entry = rb_entry(n, struct btrfs_free_space, offset_index); prev = entry; @@ -1654,6 +1649,8 @@ tree_search_offset(struct btrfs_free_space_ctl *ctl, n = n->rb_right; else break; + + entry = NULL; } if (bitmap_only) { |