Skip to content
Permalink
Browse files

OpenZFS 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.

Authored by: Alexander Motin <mav@FreeBSD.org>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Prashanth Sreenivasa <pks@delphix.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tim Chase <tim@chase2k.com>
Approved by: Matt Ahrens <mahrens@delphix.com>
Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>

OpenZFS-issue: https://www.illumos.org/issues/9434
OpenZFS-commit: openzfs/openzfs@16127b6
Closes #7480
  • Loading branch information...
amotin authored and behlendorf committed Apr 3, 2018
1 parent eb201f5 commit 20507534d4ede14d4dd82c99fc8d461704ce7419
Showing with 1 addition and 0 deletions.
  1. +1 −0 module/zfs/vdev_removal.c
@@ -352,6 +352,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);

0 comments on commit 2050753

Please sign in to comment.
You can’t perform that action at this time.