freebsd-dev/sys/boot/zfs
Allan Jude 4deb8929ea Make boot code and loader check for unsupported ZFS feature flags
OpenZFS uses feature flags instead of a zpool version number to track
features since the split from Oracle. In addition to avoiding confusion
on ZFS vs OpenZFS version numbers, this also allows features to be added
to different operating systems that use OpenZFS in different order.

The previous zfs boot code (gptzfsboot) and loader (zfsloader) blindly
tries to read the pool, and if failed provided only a vague error message.

With this change, both the boot code and loader check the MOS features
list in the ZFS label and compare it against the list of features that
the loader supports. If any unsupported feature is active, the pool is
not considered as a candidate for booting, and a helpful diagnostic
message is printed to the screen. Features that are merely enabled via
zpool upgrade, but not in use, do not block booting from the pool.

Submitted by:	Toomas Soome <tsoome@me.com>
Reviewed by:	delphij, mav
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D6857
2016-08-01 19:37:43 +00:00
..
devicename_stubs.c zfsboot/zfsloader: support accessing filesystems within a pool 2012-05-12 09:03:30 +00:00
libzfs.h Make boot code and loader check for unsupported ZFS feature flags 2016-08-01 19:37:43 +00:00
Makefile Add more .NOMETA missed in r291320 2016-03-11 23:45:51 +00:00
Makefile.depend META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
zfs.c Make boot code and loader check for unsupported ZFS feature flags 2016-08-01 19:37:43 +00:00
zfsimpl.c Make boot code and loader check for unsupported ZFS feature flags 2016-08-01 19:37:43 +00:00