Created attachment 184823 [details] loader: Ignore check_mos_features()'s return code but log it After updating a system based on r321478 to one based on r321624 the loader rejected vanilla ZFS version 28 pools with the message: ZFS: pool bpool is not supported Pools that have been upgraded to contain features are accepted as expected. The offending commits seems to be r321525 + r321526 (which MFC'd r314112). For now I'm using the attached patch which works around the problem by ignoring the check_mos_features() return code. When using vanilla ZFS version 28 pools it results in the loader message: ZFS: check_mos_features() returned 2 for pool bpool. Continuing Probably check_mos_features() should only be called when features are present. I ran into the problem using bhyveload which relies on /boot/userboot.so. While I expect the problem to be reproducible with the other loaders as well, I haven't verified this.
A commit references this bug: Author: mav Date: Sat Jul 29 09:56:08 UTC 2017 New revision: 321680 URL: https://svnweb.freebsd.org/changeset/base/321680 Log: MFC r307865 (by tsoome): loader should boot pre-feature flags pools. The feature flags chek is missing the corner case where we have valid pool version, but feature flags are not enabled - as for example plain v28 pool. This update does fix the boot support for such pools. Differential Revision: https://reviews.freebsd.org/D8331 PR: 221084 Changes: _U stable/11/ stable/11/sys/boot/zfs/zfsimpl.c
It appeared to be fixed in HEAD. Merged patch should fix it.
The merge indeed fixed the issue. Thanks.