[Bug 289690] dynamic_gang_header is not sported by current loader

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 19 Sep 2025 06:07:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289690

            Bug ID: 289690
           Summary: dynamic_gang_header is not sported by current loader
           Product: Base System
           Version: 15.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: arcade@b1t.name

Hello again. First let me link an old issue from long time ago:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144214

I have an issue booting host due to gang blocks again. In this case however we
are talking about feature, though.

In OpenZFS 2.4.0 (introduced in FreeBSD 15) new feature was added to allow
bigger gang blocks - dynamic_gang_header. When this feature becomes active
booting from pool is impossible with our loader, as it refuses to work on pool
with that feature enabled.

So:
1. Create a pool with 15-STABLE or later (feature is enabled by default).
2. Do some fragmentation. In my case pool was 60% full, though I used zfs
rewrite a lot.
3. Can't boot.

I don't think any feasible recovery is possible this time, as once feature
becomes active pool becomes unbootable, but there's no way to check which files
are actually need to be rewritten to eliminate gang blocks, any fragmented
file, anywhere on fs can cause this.

-- 
You are receiving this mail because:
You are the assignee for the bug.