Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Feb 2018 20:29:23 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Cc:        Alexander Motin <mav@freebsd.org>
Subject:   Re: svn commit: r329738 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <a2a3b693-d0e5-b6f7-1d50-62a1d0942646@FreeBSD.org>
In-Reply-To: <201802211812.w1LICJAO016554@repo.freebsd.org>
References:  <201802211812.w1LICJAO016554@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <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>
>   
>   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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a2a3b693-d0e5-b6f7-1d50-62a1d0942646>