-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zfs-grub fails with -o ashift=12 #348
Milestone
Comments
ghost
assigned pendor
Aug 1, 2011
I believe I have a patch for this. Need to clean it up a bunch in the morning & will post. |
This has been fixed. Patch against grub trunk is here: Patch is integrated into -9999 build in zfs Gentoo overlay. I believe Darik (dajhorn) is working on back porting to 1.99 build and integrating into Ubuntu packages. |
Thanks Pendor, closing this issue. |
ahrens
pushed a commit
to ahrens/zfs
that referenced
this issue
Jul 26, 2021
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
sdimitro
pushed a commit
to sdimitro/zfs
that referenced
this issue
May 23, 2022
Today, zettacache disks are divided into 4 sections: * superblock (4KB) * checkpoint (0.1% of cache) * metadata (BlockBasedLog's) (10% of disk) * data blocks (in slabs - remaining 90%, 3% of which is left unallocated) We don't handle metadata allocation failures, so we need to reserve enough space for metadata to cover exceptional cases (e.g. very small average block size; our calculations assume 2KB). Typically most of the metadata space will not be used. This commit makes the zettacache allocate space for metadata and checkpoints dynamically, from the slab space. The new disk layout has 2 sections: * superblock (4KB) * slabs (used for checkpoint, BlockBasedLogs, and user data blocks managed by the BlockAllocator) The implications of this design change are widespread throughout the codebase: Allocation of slabs is separated from allocation of blocks within slabs. The SlabAllocator provides empty slabs to both the BlockAllocator (for user data) and the BlockBasedLog (for metadata). The BlockAllocator is now unaware of the total number of slabs. The logic and on-disk state for mapping SlabId's to Extents (location on disk) is moved to the SlabAllocatorPhys. The ExtentAllocator is removed, its functionality is replaced by the SlabAllocator. Parameters around how much to evict and evacuate (rebalance) are changed. We now keep 4% free slabs for metadata, plus 5% free space for user data (of which 2% should be in empty slabs). This reduces the total amount of free space target from 13% to 9%. We can tighten this up dynamically as we have more experience and make future changes (e.g. freeing the IndexRun as the merge progresses). Added new tunables to control eviction and evacuation (rebalancing). Changes to `zcache stats`, `zcachedb space` and `zcachedb slabs` to reflect the lack of a separate metadata region. This is a non-upgradeable on-disk format change; the zettacache will be cleared when upgrading to this.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
zfs grub cannot detect zfs when you type grub-probe / from a chroot with ashift=12.
grub likely cannot read these filesystems or boot with them if you somehow force an install.
The text was updated successfully, but these errors were encountered: