On 21/02/2018 20:12, Alexander Motin wrote: > Author: mav > Date: Wed Feb 21 18:12:19 2018 > New Revision: 329738 > URL: https://svnweb.freebsd.org/changeset/base/329738 > > Log: > MFV r329736: 8969 Cannot boot from RAIDZ with parity > 1 > > illumos/illumos-gate@0fb055e81fd0cda5221da8ddd98b2f8d1fc6bdbe > > 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.
Just a note that this change is to the illumos specific code. The FreeBSD counterpart had the fix for long time. > Reviewed by: Igor Kozhukhov <[email protected]> > Reviewed by: Andriy Gapon <[email protected]> > Reviewed by: Pavel Zakharov <[email protected]> > Reviewed by: Andy Stormont <[email protected]> > Reviewed by: Toomas Soome <[email protected]> > Approved by: Gordon Ross <[email protected]> > Author: Andy Fiddaman <[email protected]> > > FreeBSD already had this fixed, so this is just a diff reduction. > > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c > Directory Properties: > head/sys/cddl/contrib/opensolaris/ (props changed) > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Wed Feb 21 > 18:10:50 2018 (r329737) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Wed Feb 21 > 18:12:19 2018 (r329738) > @@ -30,6 +30,7 @@ > * Copyright 2016 Toomas Soome <[email protected]> > * Copyright 2017 Joyent, Inc. > * Copyright (c) 2017 Datto Inc. > + * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. > */ > > /* > @@ -4141,6 +4142,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. > -- Andriy Gapon _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "[email protected]"
