mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
btrfs: zoned: do not select metadata BG as finish target
commit 3a931e9b39c7ff8066657042f5f00d3b7e6ad315 upstream. We call btrfs_zone_finish_one_bg() to zone finish one block group and make room to activate another block group. Currently, we can choose a metadata block group as a target. But, as we reserve an active metadata block group, we no longer want to select a metadata block group. So, skip it in the loop. CC: stable@vger.kernel.org # 6.6+ Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6b801da8e1
commit
77e07f7226
@@ -2417,7 +2417,7 @@ int btrfs_zone_finish_one_bg(struct btrfs_fs_info *fs_info)
|
||||
|
||||
spin_lock(&block_group->lock);
|
||||
if (block_group->reserved || block_group->alloc_offset == 0 ||
|
||||
(block_group->flags & BTRFS_BLOCK_GROUP_SYSTEM) ||
|
||||
!(block_group->flags & BTRFS_BLOCK_GROUP_DATA) ||
|
||||
test_bit(BLOCK_GROUP_FLAG_ZONED_DATA_RELOC, &block_group->runtime_flags)) {
|
||||
spin_unlock(&block_group->lock);
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user