btrfs: zoned: let the for_treelog test in the allocator stand out
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Wed, 8 Sep 2021 16:19:32 +0000 (01:19 +0900)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:08:02 +0000 (19:08 +0200)
The statement which decides if an extent allocation on a zoned device is
for the dedicated tree-log block group or not and if we can use the block
group we picked for this allocation is not easy to read but an important
part of the allocator.

Rewrite into an if condition instead of a plain boolean test to make it
stand out more, like the version which tests for the dedicated
data-relocation block group.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c

index 9b7cbb6..ea651b6 100644 (file)
@@ -3763,7 +3763,7 @@ static int do_allocation_zoned(struct btrfs_block_group *block_group,
        u64 log_bytenr;
        u64 data_reloc_bytenr;
        int ret = 0;
-       bool skip;
+       bool skip = false;
 
        ASSERT(btrfs_is_zoned(block_group->fs_info));
 
@@ -3773,8 +3773,9 @@ static int do_allocation_zoned(struct btrfs_block_group *block_group,
         */
        spin_lock(&fs_info->treelog_bg_lock);
        log_bytenr = fs_info->treelog_bg;
-       skip = log_bytenr && ((ffe_ctl->for_treelog && bytenr != log_bytenr) ||
-                             (!ffe_ctl->for_treelog && bytenr == log_bytenr));
+       if (log_bytenr && ((ffe_ctl->for_treelog && bytenr != log_bytenr) ||
+                          (!ffe_ctl->for_treelog && bytenr == log_bytenr)))
+               skip = true;
        spin_unlock(&fs_info->treelog_bg_lock);
        if (skip)
                return 1;