Author: mav
Date: Tue Apr  3 21:16:41 2018
New Revision: 331950
URL: https://svnweb.freebsd.org/changeset/base/331950

Log:
  9434 Speculative prefetch is blocked by device removal code.
  
  Device removal code does not set spa_indirect_vdevs_loaded for pools
  that never experienced device removal.  At least one visual consequence
  of it is completely blocked speculative prefetcher.  This patch sets
  the variable in such situations.

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c  Tue Apr 
 3 21:08:10 2018        (r331949)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c  Tue Apr 
 3 21:16:41 2018        (r331950)
@@ -368,6 +368,7 @@ spa_remove_init(spa_t *spa)
                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;
                return (0);
        } else if (error != 0) {
                return (error);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to