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

Reply via email to