btrfs: reinsert BGs failed to reclaim
authorNaohiro Aota <naota@elisp.net>
Tue, 6 Jun 2023 05:36:36 +0000 (14:36 +0900)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Jun 2023 11:59:38 +0000 (13:59 +0200)
commit7e27180994383b7c741ad87749db01e4989a02ba
tree5d443f3448ba37637d8f91e3c4191d3ad35a2245
parent93463ff7b54626f8276c0bd3d3f968fbf8d5d380
btrfs: reinsert BGs failed to reclaim

The reclaim process can temporarily fail. For example, if the space is
getting tight, it fails to make the block group read-only. If there are no
further writes on that block group, the block group will never get back to
the reclaim list, and the BG never gets reclaimed. In a certain workload,
we can leave many such block groups never reclaimed.

So, let's get it back to the list and give it a chance to be reclaimed.

Fixes: 18bb8bbf13c1 ("btrfs: zoned: automatically reclaim zones")
CC: stable@vger.kernel.org # 5.15+
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-group.c