btrfs: add extent allocator hook to decide to allocate chunk or not
authorNaohiro Aota <naohiro.aota@wdc.com>
Tue, 7 Dec 2021 15:35:48 +0000 (00:35 +0900)
committerDavid Sterba <dsterba@suse.com>
Fri, 7 Jan 2022 13:18:26 +0000 (14:18 +0100)
commit50475cd57706359d6cc652be88369dace7a4c2eb
treee15ae8f576248963fcda79291824a0fa1d9eb472
parent1ada69f61c88abb75a1038ee457633325658a183
btrfs: add extent allocator hook to decide to allocate chunk or not

Introduce a new hook for an extent allocator policy. With the new
hook, a policy can decide to allocate a new block group or not. If
not, it will return -ENOSPC, so btrfs_reserve_extent() will cut the
allocation size in half and retry the allocation if min_alloc_size is
large enough.

The hook has a place holder and will be replaced with the real
implementation in the next patch.

CC: stable@vger.kernel.org # 5.16
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c