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