Follow-up Comment #4, bug #59614 (project grub):
I hit the same issue after migrating to ZFS 2.0.0
In my debugging I noticed that "grub-probe --device ${GRUB_DEVICE}
--target=fs_label" reports "unknown filesystem".
$ debug=all grub-probe -v /
....
grub-core/osdep/hostdisk.c:396: reusing open device `/dev/sdb4'
grub-core/fs/zfs/zfs.c:2110: zap: name = org.illumos:lz4_compress, value = 1,
cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.joyent:multi_vdev_crash_dump,
value = 0, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:hole_birth, value = 1, cd
= 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:extensible_dataset, value
= 45, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = com.delphix:embedded_data, value = 1,
cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = org.open-zfs:large_blocks, value =
1c, cd = 0
grub-core/fs/zfs/zfs.c:2110: zap: name = org.zfsonlinux:large_dnode, value =
22, cd = 0
grub-core/kern/disk.c:295: Closing `hostdisk//dev/sdb'.
grub-core/kern/fs.c:78: zfs detection failed.
...
The failure happens at grub-core/fs/zfs/zfs.c:
grub_error (GRUB_ERR_BAD_FS, "Unsupported features in pool");
Looks like my root pool contains zfs features unsupported by grub. Strictly
speaking, this is irrelevant for grub as my /boot is on a separate fat32
partition for efi64 boot method. There is no need to perform full
compatibility checks just to output fs_label and construct root=ZFS=rpool/ROOT
kernel argument.
I would say for /boot 'bpool' strict checks are need to be able to load kernel
at boot time, but for / 'rpool' which is only used by the loaded kernel the
compatibility checks can be omitted.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?59614>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/