vdev_alloc() checks the pool version to make sure that the requested parity level is supported. It does this via spa_version() which looks at spa->spa_ubsync.ub_version.
The spa created in spa_import_rootpool() does not currently have the version set which results in vdev_alloc() returning ENOTSUP for parity > 1. With this fix I've verified booting OmniOS with a raidz, raidz2 & raidz3 root pool. You can view, comment on, or merge this pull request online at: https://github.com/openzfs/openzfs/pull/526 -- Commit Summary -- * 8969 Cannot boot from RAIDZ with parity > 1 -- File Changes -- M usr/src/uts/common/fs/zfs/spa.c (4) -- Patch Links -- https://github.com/openzfs/openzfs/pull/526.patch https://github.com/openzfs/openzfs/pull/526.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/openzfs/openzfs/pull/526 ------------------------------------------ openzfs-developer Archives: https://openzfs.topicbox.com/groups/developer/discussions/T6b96ee3544e7e44d-Mfa6537d44f8eef5fcdf5d6a4 Powered by Topicbox: https://topicbox.com
