summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2018-04-16 04:16:46 +0000
committermav <mav@FreeBSD.org>2018-04-16 04:16:46 +0000
commite4eebb56f6e3f1477fa7f98acc01506e46503d56 (patch)
tree0df691220e43eb09c61f63743cde7129e14b43c2
parente16a867b49461b6e1e2726a8c06619c1b209b30d (diff)
downloadFreeBSD-src-e4eebb56f6e3f1477fa7f98acc01506e46503d56.zip
FreeBSD-src-e4eebb56f6e3f1477fa7f98acc01506e46503d56.tar.gz
MFC r331950: 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.
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c
index 110fd99..c864ab1 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c
@@ -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);
OpenPOWER on IntegriCloud