Files
linux/fs
Naohiro Aota daa0fde322 btrfs: zoned: fix data relocation block group reservation
btrfs_zoned_reserve_data_reloc_bg() is called on mount and at that point,
all data block groups belong to the primary data space_info. So, we don't
find anything in the data relocation space_info.

Also, the condition "bg->used > 0" can select a block group with full of
zone_unusable bytes for the candidate. As we cannot allocate from the block
group, it is useless to reserve it as the data relocation block group.

Furthermore, because of the space_info separation, we need to migrate the
selected block group to the data relocation space_info. If not, the extent
allocator cannot use the block group to do the allocation.

This commit fixes these three issues.

Fixes: e606ff985ec7 ("btrfs: zoned: reserve data_reloc block group on mount")
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2025-08-13 12:28:48 +02:00
..
2025-07-12 04:02:44 +08:00
2025-04-29 13:08:20 +02:00
2025-06-18 21:35:29 +00:00
2025-07-14 10:13:31 +02:00
2025-04-28 10:54:39 +02:00
2024-12-03 10:40:36 +01:00
2024-08-21 22:32:58 +02:00
2025-05-14 22:40:55 -04:00
2025-04-07 09:36:48 +02:00
2025-07-02 14:41:39 +02:00
2024-12-09 11:34:29 +01:00
2024-12-17 09:16:11 +01:00
2025-07-02 14:41:39 +02:00
2025-05-15 12:03:12 +02:00
2025-05-23 14:20:44 +02:00
2024-11-03 01:28:07 -05:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00
2025-06-06 10:00:17 +02:00