All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] btrfs: ENOSPC fixes for unused block groups
@ 2026-09-29  0:20 Boris Burkov
  2026-09-29  0:20 ` [PATCH v2 1/2] btrfs: allocate additional SYSTEM space earlier Boris Burkov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Boris Burkov @ 2026-09-29  0:20 UTC (permalink / raw)
  To: linux-btrfs, kernel-team

A few fixes for system chunk allocation ENOSPCs caused by a sudden influx of a
large number of unused block groups in a filesystem with no free dev extents.

In practice, I saw this on a fully allocated fs with 30TB of space, a 4MiB
system chunk (single metadata mode) and ~10k unused data BGs.

- The first patch tries to avoid the condition by allocating earlier for the
  system chunk.

- The second patch eagerly commits a single deletion when the system chunk is
  at risk.

More details in the patches themselves.

Changelog:
v2:
- refactored some names and the flow in patch 1 to make it more clear.


Boris Burkov (2):
  btrfs: allocate additional SYSTEM space earlier
  btrfs: commit after deleting an unused block group if system space is
    low

 fs/btrfs/block-group.c | 59 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 49 insertions(+), 10 deletions(-)

-- 
2.55.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-29 14:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-29  0:20 [PATCH v2 0/2] btrfs: ENOSPC fixes for unused block groups Boris Burkov
2026-09-29  0:20 ` [PATCH v2 1/2] btrfs: allocate additional SYSTEM space earlier Boris Burkov
2026-09-29  0:20 ` [PATCH v2 2/2] btrfs: commit after deleting an unused block group if system space is low Boris Burkov
2026-09-29 14:54 ` [PATCH v2 0/2] btrfs: ENOSPC fixes for unused block groups Filipe Manana

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.