diff options
author | mav <mav@FreeBSD.org> | 2018-04-16 04:16:46 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2018-04-16 04:16:46 +0000 |
commit | e4eebb56f6e3f1477fa7f98acc01506e46503d56 (patch) | |
tree | 0df691220e43eb09c61f63743cde7129e14b43c2 | |
parent | e16a867b49461b6e1e2726a8c06619c1b209b30d (diff) | |
download | FreeBSD-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.c | 1 |
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); |