Print this page
3525 Persistent L2ARC
*** 1477,1490 ****
if (vdev_open(vd) != 0)
continue;
(void) vdev_validate_aux(vd);
! if (!vdev_is_dead(vd))
! l2arc_add_vdev(spa, vd);
}
}
/*
* Purge vdevs that were dropped
*/
for (i = 0; i < oldnvdevs; i++) {
--- 1477,1503 ----
if (vdev_open(vd) != 0)
continue;
(void) vdev_validate_aux(vd);
! if (!vdev_is_dead(vd)) {
! boolean_t persist = B_FALSE;
!
! if (spa->spa_load_state != SPA_LOAD_TRYIMPORT) {
! /*
! * Only allow to do the L2ARC rebuild
! * when not doing a spa try-load.
! */
! (void) nvlist_lookup_boolean_value(
! l2cache[i],
! ZPOOL_CONFIG_L2CACHE_PERSISTENT,
! &persist);
}
+ l2arc_add_vdev(spa, vd, persist);
}
+ }
+ }
/*
* Purge vdevs that were dropped
*/
for (i = 0; i < oldnvdevs; i++) {
*** 3878,3892 ****
if (spa->spa_spares.sav_config) {
nvlist_free(spa->spa_spares.sav_config);
spa->spa_spares.sav_config = NULL;
spa_load_spares(spa);
}
- if (spa->spa_l2cache.sav_config) {
- nvlist_free(spa->spa_l2cache.sav_config);
- spa->spa_l2cache.sav_config = NULL;
- spa_load_l2cache(spa);
- }
VERIFY(nvlist_lookup_nvlist(config, ZPOOL_CONFIG_VDEV_TREE,
&nvroot) == 0);
if (error == 0)
error = spa_validate_aux(spa, nvroot, -1ULL,
--- 3891,3900 ----