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