Upgrading ZFS Storage Pools
After installing, or upgrading to, the latest version of OpenZFS on OS X, some consideration is required before upgrading the feature flags of your pools.
Quoting from the open-zfs.org wiki,
One of the first OpenZFS projects was a new versioning system called "feature flags" which tags on-disk format changes with unique names. The system supports both completely independent format changes, as well as format changes that depend on each other. A pool's on-disk format is portable between OpenZFS implementations as long as all of the feature flags in use by the pool are supported by both implementations.
All OpenZFS implementations now support feature flags and regularly port features between them to remain compatible.
Upgrading a pool's feature flags is a one way process. If you enable new feature flags on your pools, you cannot use them with any previous version of OpenZFS on OS X unless that version also supports all of the flags you have enabled. In general, you can only use a given pool with a particular OpenZFS distribution (including those on other platforms) if that distribution supports all of the feature flags enabled in the pool.
Since it is perfectly safe to use your existing pools with whatever set of feature flags they already have enabled with the latest version of OpenZFS on OS X, you may choose to enable new features on an as-needed basis, or you may choose to enable them all at once.
If you do wish to enable all of the feature flags on all of your imported ZFS pools, the procedure is, as follows:
$ sudo zpool upgrade -a $ sudo zfs upgrade -a
$ zpool status
Alternatively, you can enable feature flags one at time, as needed. For example, to enable lz4 (probably already enabled),
$ sudo zpool set feature@lz4_compress=enabled <poolname>
If you are on pool version 28, or earlier, and wish to upgrade to pool version 5000 with all the new feature flags, the procedure is the same as above.