Comment 9 for bug 2041739

Revision history for this message
Mathias Aerts (mathias-aerts) wrote :

I've been testing this some more and it seems that any enabled zpool feature that requires or also enables the extensible_dataset feature will cause this issue. 'extensible_dataset' is listed in grub2 compatibility mode (/usr/share/zfs/compatibility.d/grub2) but it doesn't seem that this is correct, or at least this bug is causing it to not be fully compatible.

When creating the bpool with any feature disabled that would also enable extensible_dataset, I can create a snapshot on bpool with grub-probe still recognizing it as zfs (test script attached):

zpool create \
    -o ashift=12 \
    -o autotrim=on \
    -o compatibility=grub2 \
    -o feature@extensible_dataset=disabled \
    -o feature@bookmarks=disabled \
    -o feature@filesystem_limits=disabled \
    -o feature@large_blocks=disabled \
    -o feature@large_dnode=disabled \
    -o feature@sha512=disabled \
    -o feature@skein=disabled \
    -o feature@edonr=disabled \
    -o feature@userobj_accounting=disabled \
    -o feature@encryption=disabled \
    -o feature@project_quota=disabled \
    -o feature@obsolete_counts=disabled \
    -o feature@bookmark_v2=disabled \
    -o feature@redaction_bookmarks=disabled \
    -o feature@redacted_datasets=disabled \
    -o feature@bookmark_written=disabled \
    -o feature@livelist=disabled \
    -o feature@zstd_compress=disabled \
    -o feature@zilsaxattr=disabled \
    -o feature@head_errlog=disabled \
    -o feature@blake3=disabled \
    -o feature@vdev_zaps_v2=disabled \
    -O devices=off \
    -O acltype=posixacl -O xattr=sa \
    -O compression=lz4 \
    -O normalization=formD \
    -O relatime=on \
    -O canmount=off \
    bpool /dev/nvme0n1p3

Enabling any of the features in the command above will cause grub not to recognize /boot as zfs again when a snapshot is created on bpool.