Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Sep 2018 21:56:00 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r338869 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201809212156.w8LLu0O8021866@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Fri Sep 21 21:56:00 2018
New Revision: 338869
URL: https://svnweb.freebsd.org/changeset/base/338869

Log:
  MFV r338866: 9700 ZFS resilvered mirror does not balance reads
  
  illumos/illumos-gate@82f63c3c2bf5e4378706e8dcfccf717d67371be9
  
  Reviewed by: Toomas Soome <tsoome@me.com>
  Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
  Reviewed by: George Wilson <george.wilson@delphix.com>
  Approved by: Matthew Ahrens <mahrens@delphix.com>
  Author:     Jerry Jelinek <jerry.jelinek@joyent.com>
  
  Approved by:	re (delphij)

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	Fri Sep 21 21:15:43 2018	(r338868)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c	Fri Sep 21 21:56:00 2018	(r338869)
@@ -28,7 +28,7 @@
  * Copyright 2013 Saso Kiselkov. All rights reserved.
  * Copyright (c) 2014 Integros [integros.com]
  * Copyright 2016 Toomas Soome <tsoome@me.com>
- * Copyright 2017 Joyent, Inc.
+ * Copyright 2018 Joyent, Inc.
  * Copyright (c) 2017 Datto Inc.
  * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
  */
@@ -6923,6 +6923,7 @@ spa_vdev_resilver_done_hunt(vdev_t *vd)
 
 	/*
 	 * Check for a completed resilver with the 'unspare' flag set.
+	 * Also potentially update faulted state.
 	 */
 	if (vd->vdev_ops == &vdev_spare_ops) {
 		vdev_t *first = vd->vdev_child[0];
@@ -6943,6 +6944,8 @@ spa_vdev_resilver_done_hunt(vdev_t *vd)
 		    vdev_dtl_empty(newvd, DTL_OUTAGE) &&
 		    !vdev_dtl_required(oldvd))
 			return (oldvd);
+
+		vdev_propagate_state(vd);
 
 		/*
 		 * If there are more than two spares attached to a disk,



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