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]"

Reply via email to