Thread (9 messages) 9 messages, 4 authors, 2021-12-07

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help