Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Mar 2018 02:25:35 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r331721 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201803290225.w2T2PZjp062649@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Thu Mar 29 02:25:34 2018
New Revision: 331721
URL: https://svnweb.freebsd.org/changeset/base/331721

Log:
  MFC r329738: 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.
  
  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:
  stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
==============================================================================
--- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c	Thu Mar 29 02:13:58 2018	(r331720)
+++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c	Thu Mar 29 02:25:34 2018	(r331721)
@@ -29,6 +29,7 @@
  * Copyright (c) 2014 Integros [integros.com]
  * Copyright 2017 Joyent, Inc.
  * Copyright (c) 2017 Datto Inc.
+ * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
  */
 
 /*
@@ -4076,6 +4077,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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803290225.w2T2PZjp062649>