Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Oct 2019 07:49:20 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r353626 - vendor-sys/illumos/dist/uts/common/fs/zfs
Message-ID:  <201910160749.x9G7nKH0024489@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Wed Oct 16 07:49:20 2019
New Revision: 353626
URL: https://svnweb.freebsd.org/changeset/base/353626

Log:
  10841 predictive prefetch disabled on new pools until export/reboot
  
  illumos/illumos-gate@0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e
  https://github.com/illumos/illumos-gate/commit/0ce4bbcb47d8f86307fb8d2c84fd0f4e070f576e
  
  https://www.illumos.org/issues/10841
    ZoL 944a37248a0 predictive prefetch disabled on new pools until export/reboot
  
    When a pool is initially created (by `zpool create`), predictive
    prefetch is inadvertently disabled, until the pool is
    export/import-ed, or the machine is rebooted.
  
    When device removal was introduced, we added some code to disable
    predictive prefetching until indirect vdevs have been loaded.  This
    resulted in the "default state" of prefetch being disabled, until we
    proactively enable it after indirect vdevs are loaded.  Unfortunately
    this resulted in a few bugs where in some code paths we neglect to
    enable predictive prefetch.  The first of these was fixed by
    https://github.com/zfsonlinux/zfs/commit/20507534d4ede14d4dd82c99fc8d461704ce7419
  
    This commit fixes another case where we also need to explicitly enable
    predictive prefetch, when the pool is initially created.
  
  Author: Matthew Ahrens <mahrens@delphix.com>

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c	Wed Oct 16 07:41:33 2019	(r353625)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c	Wed Oct 16 07:49:20 2019	(r353626)
@@ -21,7 +21,7 @@
 
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2018 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2019 by Delphix. All rights reserved.
  * Copyright (c) 2015, Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved.
  * Copyright 2013 Saso Kiselkov. All rights reserved.
@@ -4651,6 +4651,7 @@ spa_create(const char *pool, nvlist_t *nvroot, nvlist_
 	spa->spa_removing_phys.sr_state = DSS_NONE;
 	spa->spa_removing_phys.sr_removing_vdev = -1;
 	spa->spa_removing_phys.sr_prev_indirect_vdev = -1;
+	spa->spa_indirect_vdevs_loaded = B_TRUE;
 
 	/*
 	 * Create "The Godfather" zio to hold all async IOs



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