8969 Cannot boot from RAIDZ with parity > 1
illumos/illumos-gate@0fb055e81f At present it is possible to boot from a root pool that is on RAIDZ but not one that is on RAIDZ2 or RAIDZ3. This is because, at the time the pool version is checked to ensure support for dual/triple parity, the uberblock has not yet been loaded into the SPA and therefore the code determines that the pool version is too old and returns ENOTSUP. Reviewed by: Igor Kozhukhov <igor@dilos.org> Reviewed by: Andriy Gapon <avg@FreeBSD.org> Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Andy Stormont <astormont@racktopsystems.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Gordon Ross <gwr@nexenta.com> Author: Andy Fiddaman <omnios@citrus-it.co.uk>
This commit is contained in:
parent
86b66fca8b
commit
ed2ac05a27
@ -29,6 +29,7 @@
|
||||
* Copyright 2016 Toomas Soome <tsoome@me.com>
|
||||
* Copyright 2017 Joyent, Inc.
|
||||
* Copyright (c) 2017 Datto Inc.
|
||||
* Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -4051,6 +4052,9 @@ spa_import_rootpool(char *devpath, char *devid)
|
||||
spa = spa_add(pname, config, NULL);
|
||||
spa->spa_is_root = B_TRUE;
|
||||
spa->spa_import_flags = ZFS_IMPORT_VERBATIM;
|
||||
if (nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION,
|
||||
&spa->spa_ubsync.ub_version) != 0)
|
||||
spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL;
|
||||
|
||||
/*
|
||||
* Build up a vdev tree based on the boot device's label config.
|
||||
|
Loading…
x
Reference in New Issue
Block a user