uefi(8) fails to boot from ZFS with compression=zstd

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Fri, 23 Oct 2020 04:02:31 +0200
After r366657 (currently, on r366953) I've tried to boot from a
compression=zstd dataset but it failed to reach loader(8), see below.
However, switching to CSM path (boot1.efi -> gptzfsboot) makes it work.

Am I missing something?

$ strings /boot/boot1.efi | fgrep zstd
org.freebsd:zstd_compress

$ strings /boot/gptzfsboot | fgrep zstd
zstd
/usr/src/sys/contrib/openzfs/module/zstd/zfs_zstd.c
org.freebsd:zstd_compress

$ zpool set bootfs=tank/ROOT/freebsd-zstd tank
$ sh /usr/share/examples/bhyve/vmrun.sh -ATE -d /dev/nda0 -d /dev/nda1 host-freebsd
Launching virtual machine "host-freebsd" ...
fbuf frame buffer base: 0x827800000 [sz 16777216]

>> FreeBSD EFI boot block
   Loader path: /boot/loader.efi

   Initializing modules: ZFS UFS
   Load Path: \EFI\BOOT\BOOTX64.EFI
   Load Device: PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,<REDACTED>,0x250,0x5B0)
   BootCurrent: 0000
   BootOrder: 0000[*] 0001 0002 0003
   Probing 8 block devices...not supported
not supported
not supported
better
not supported
not supported
not supported
good
 done
    ZFS found the following pools: tank
    UFS found no partitions
ZFS: unsupported compression algorithm (null)
ZFS: i/o error - all block copies unavailable
Failed to read node from tank (5)
ZFS: unsupported compression algorithm (null)
ZFS: i/o error - all block copies unavailable
Failed to read node from tank (5)
Failed to load '/boot/loader.efi'
panic: No bootable partitions found!
Boot Failed. EFI Hard Drive
...
Received on Fri Oct 23 2020 - 00:02:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:25 UTC