Hi I think you’re right that the cause is that kernel and initramfs files are sparse files. But for me the cause of that seems to be running bees to deduplicate root partition (that includes /boot).
I’ve fixed that as follows:
/boot >>> sudo systemctl disable --now beesd@1181ad1e-bf33-43dd-9ebd-6738320d9ccc
/boot >>> find . | xargs -I {} sudo btrfs property set {} compression none
/boot >>> sudo cp -a --reflink=never --sparse=never initramfs-6.15-x86_64-fallback.img initramfs-6.15-x86_64-fallback2.img
/boot >>> sudo cp -a --reflink=never --sparse=never initramfs-6.12-x86_64-fallback.img initramfs-6.12-x86_64-fallback2.img
/boot >>> sudo cp -a --reflink=never --sparse=never vmlinuz-6.15-x86_64 vmlinuz-6.15-x86_64_2
/boot >>> sudo mv initramfs-6.15-x86_64-fallback2.img initramfs-6.15-x86_64-fallback.img
/boot >>> sudo mv initramfs-6.12-x86_64-fallback2.img initramfs-6.12-x86_64-fallback.img
/boot >>> sudo mv vmlinuz-6.15-x86_64_2 vmlinuz-6.15-x86_64
/boot >>> find initramfs-6.* -printf '%S\t%p\n'
1,00002 initramfs-6.6-x86_64-fallback.img
1,00001 initramfs-6.6-x86_64-fallback.img.tmp
1,00002 initramfs-6.6-x86_64.img
1,00032 initramfs-6.6-x86_64.img.tmp
1,00002 initramfs-6.12-x86_64-fallback.img
1,00008 initramfs-6.12-x86_64.img
1,00002 initramfs-6.15-x86_64-fallback.img
1,00008 initramfs-6.15-x86_64.img
/boot >>> find vmlinuz-6.* -printf '%S\t%p\n'
1,00027 vmlinuz-6.6-x86_64
1,00026 vmlinuz-6.12-x86_64
1,00023 vmlinuz-6.15-x86_64
If I keep bees disabled, the files are kept as non-sparse, but as soon as I enable it, it does something that makes some of them sparse (or caused find to return value below 1). Why that happens I’m not sure, I though it supposed to do the deduplication only, not change the files to sparse files.
Or I’m misinterpreting the output from find.
I’ll disable bees for now.