Comment # 6 on bug 1190982 from
Got the root cause.

There are in fact two problems involved:

1) Your initramfs has inline extent mixed with regular extent
   This is not recommended behavior, but kernel can handle it without problem,
   thus it's not a big deal either.

   If you defrag the range [0, 4K) of the initramfs, grub should be able to
handle it
   without problem.

   But normally, one file should only have one inline extent and no more other
extents.
   Or all regular extents and no inline.

2) GRUB's bug
   In grub's inline extent handling.
   After reading one inline extent, it doesn't jump to next sector aligned
position.
   This makes next iteration to try to read non-exist extent.

   This means it can't handle the following cases:
   - Mixed inline + regular extents
   - NO_HOLES feature

I'll craft a hot fix for the bug, hoping to address the bug with minimal code
change.

As the btrfs infrastructure of GRUB is really a mess, I don't want to waste any
of my time to fix codes which may be fully reworked.


You are receiving this mail because: