Commit 5b135b38 authored by Naohiro Aota's avatar Naohiro Aota Committed by David Sterba
Browse files

btrfs: zoned: re-enable metadata over-commit for zoned mode



Now that, we can re-enable metadata over-commit. As we moved the activation
from the reservation time to the write time, we no longer need to ensure
all the reserved bytes is properly activated.

Without the metadata over-commit, it suffers from lower performance because
it needs to flush the delalloc items more often and allocate more block
groups. Re-enabling metadata over-commit will solve the issue.

Fixes: 79417d04 ("btrfs: zoned: disable metadata overcommit for zoned")
CC: stable@vger.kernel.org # 6.1+
Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarNaohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 5a7d107e
Loading
Loading
Loading
Loading
+1 −5
Original line number Original line Diff line number Diff line
@@ -389,10 +389,6 @@ int btrfs_can_overcommit(struct btrfs_fs_info *fs_info,
		return 0;
		return 0;


	used = btrfs_space_info_used(space_info, true);
	used = btrfs_space_info_used(space_info, true);
	if (test_bit(BTRFS_FS_ACTIVE_ZONE_TRACKING, &fs_info->flags) &&
	    (space_info->flags & BTRFS_BLOCK_GROUP_METADATA))
		avail = 0;
	else
	avail = calc_available_free_space(fs_info, space_info, flush);
	avail = calc_available_free_space(fs_info, space_info, flush);


	if (used + bytes < space_info->total_bytes + avail)
	if (used + bytes < space_info->total_bytes + avail)