Re: [PATCH v2 0/2] Free space tree space reservation fixes
From: Nikolay Borisov <hidden>
Date: 2021-12-03 13:10:02
On 2.12.21 г. 22:34, Josef Bacik wrote:
quoted hunk ↗ jump to hunk
v1->v2: - Updated the changelog for "btrfs: reserve extra space for free space tree" to make it clear why we're doubling the space reservation per Nikolay's request.--- Original email ---Hello, Filipe reported a problem where he was getting an ENOSPC abort when running delayed refs for generic/619. This is because of two reasons, first generic/619 creates a very small file system, and our global block rsv calculation doesn't take into account the size of the free space tree. Thus we could get into a situation where the global block rsv was not enough to handle the overflow. The second is because we simply do not reserve space for the free space tree modifications. Fix this by making sure any free space tree root has their block rsv set to the delayed refs rsv, and then make sure if we have the free space tree enabled we're reserving extra space for those operations. With these patches the problem Filipe was hitting went away. Thanks, Josef Josef Bacik (2): btrfs: include the free space tree in the global rsv minimum calculation btrfs: reserve extra space for the free space tree fs/btrfs/block-rsv.c | 31 ++++++++++++++++++------------- fs/btrfs/delayed-ref.c | 22 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 13 deletions(-)
For the whole series: Reviewed-by: Nikolay Borisov <redacted>