svn commit: r329738 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Andriy Gapon avg at FreeBSD.org
Wed Feb 21 18:29:34 UTC 2018


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 at 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 <igor at dilos.org>
>   Reviewed by: Andriy Gapon <avg at FreeBSD.org>
>   Reviewed by: Pavel Zakharov <pavel.zakharov at delphix.com>
>   Reviewed by: Andy Stormont <astormont at racktopsystems.com>
>   Reviewed by: Toomas Soome <tsoome at me.com>
>   Approved by: Gordon Ross <gwr at nexenta.com>
>   Author: Andy Fiddaman <omnios at citrus-it.co.uk>
>   
>   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 <tsoome at me.com>
>   * 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


More information about the svn-src-head mailing list