-
Notifications
You must be signed in to change notification settings - Fork 57
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
GRUB: Extent not found after running bees #249
Comments
Some experiments to try to collect more information:
I don't know how grub would distinguish one reflink to a file from another, much less be fatally broken by it, so I expect experiment 2 will not trigger a grub failure, and we'll see some anomalous feature (non-zero extent offsets? unsupported compression type? hole in kernel file?) from experiment 1. Hopefully we get some information that can be turned into an actionable grub bug report. |
This issue stopped happening for a while, so I couldn't replicate it to gather info. It is happening again though. |
Looks like this is fixed in grub but not released yet: https://git.savannah.gnu.org/cgit/grub.git/commit/?id=7f4e017a1416bcbdca16de4f923679ec9f003171 |
I had similar boot issues in versions of grub that supposedly have this fixed (it would panic in various random ways), I switched to a 3 partition layout with:
Which works around the problems. Seems like grub's btrfs implementation is not very good yet. |
I have the same problem on manjaro, using kernel
I can get into the grub menu after that, but trying to boot results in I am now successfully using @Jorropo's workaround |
I can confirm this on two separate machines running Arch. Here it is usually the |
You can set the boot directory |
I guess I can file this under "use cases for path-based exclusion rules"... 😝 |
grub 2.12-rc1 contains the earlier btrfs dedupe fixes from 2021, but the tag was released in July 2023. This hasn't made its way to some distros yet. There is also a missing fix "3c7e84257 fs/btrfs: Zero file data not backed by extents" which could be triggered by dedupe. This is likely to be a problem for a few more years while grub fixes make their way through distro release cycles. Please indicate the grub version and whether it works or not. |
I'm using Arch's grub package at grub-2.12, sadly I was still able to reproduce it. I also found the related logs from bees, hopefully it's useful in some way.
|
That looks like exactly the setup for the fix in "3c7e84257 fs/btrfs: Zero file data not backed by extents"...the first page is a hole. |
I just double checked that the upstream tag 2.12 has already contained this commit. Weird :/ |
Ah, OK, I see my mistake...I checked 2.12-rc1, not 2.12. There's nothing in upstream grub git So...there's still some bugs left in grub's btrfs support. |
Considering that the grub2 project has not developed much in the last few years. These fix, like many others, will probably not be accepted in the near future. Probably the only way to solve this problem is to completely exclude /boot from dedup |
GRUB gives me this error after running bees for a few hours. It is consistently doing it every time I run bees for enough time. I fix it temporarily by reinstalling the kernel package from chroot. I'm assuming bees is deduping the kernel, which grub doesn't like? Strangely this doesn't happen to my arch install on the same partition.
I assume that gentoo is storing another copy of the kernel somewhere while arch doesn't. The only other difference from my arch install is a separate subvol for /boot.
grub error message:
The text was updated successfully, but these errors were encountered: