Lines Matching refs:sav

1462 	spa_aux_vdev_t *sav = &spa->spa_l2cache;
1466 if (sav->sav_config != NULL) {
1467 VERIFY(nvlist_lookup_nvlist_array(sav->sav_config,
1475 oldvdevs = sav->sav_vdevs;
1476 oldnvdevs = sav->sav_count;
1477 sav->sav_vdevs = NULL;
1478 sav->sav_count = 0;
1516 vd->vdev_aux = sav;
1551 if (sav->sav_config == NULL)
1554 sav->sav_vdevs = newvdevs;
1555 sav->sav_count = (int)nl2cache;
1561 VERIFY(nvlist_remove(sav->sav_config, ZPOOL_CONFIG_L2CACHE,
1564 l2cache = kmem_alloc(sav->sav_count * sizeof (void *), KM_SLEEP);
1565 for (i = 0; i < sav->sav_count; i++)
1567 sav->sav_vdevs[i], B_TRUE, VDEV_CONFIG_L2CACHE);
1568 VERIFY(nvlist_add_nvlist_array(sav->sav_config,
1569 ZPOOL_CONFIG_L2CACHE, l2cache, sav->sav_count) == 0);
1571 for (i = 0; i < sav->sav_count; i++)
1573 if (sav->sav_count)
1574 kmem_free(l2cache, sav->sav_count * sizeof (void *));
1845 spa_aux_check_removed(spa_aux_vdev_t *sav)
1847 for (int i = 0; i < sav->sav_count; i++)
1848 spa_check_removed(sav->sav_vdevs[i]);
3421 spa_aux_vdev_t *sav, const char *config, uint64_t version,
3451 sav->sav_pending = dev;
3452 sav->sav_npending = ndev;
3495 sav->sav_pending = NULL;
3496 sav->sav_npending = 0;
3519 spa_set_aux_vdevs(spa_aux_vdev_t *sav, nvlist_t **devs, int ndevs,
3524 if (sav->sav_config != NULL) {
3533 VERIFY(nvlist_lookup_nvlist_array(sav->sav_config, config,
3545 VERIFY(nvlist_remove(sav->sav_config, config,
3548 VERIFY(nvlist_add_nvlist_array(sav->sav_config,
3557 VERIFY(nvlist_alloc(&sav->sav_config, NV_UNIQUE_NAME,
3559 VERIFY(nvlist_add_nvlist_array(sav->sav_config, config,
3572 spa_aux_vdev_t *sav = &spa->spa_l2cache;
3574 for (i = 0; i < sav->sav_count; i++) {
3577 vd = sav->sav_vdevs[i];
6075 spa_sync_aux_dev(spa_t *spa, spa_aux_vdev_t *sav, dmu_tx_t *tx,
6082 if (!sav->sav_sync)
6090 if (sav->sav_object == 0) {
6091 sav->sav_object = dmu_object_alloc(spa->spa_meta_objset,
6096 &sav->sav_object, tx) == 0);
6100 if (sav->sav_count == 0) {
6103 list = kmem_alloc(sav->sav_count * sizeof (void *), KM_SLEEP);
6104 for (i = 0; i < sav->sav_count; i++)
6105 list[i] = vdev_config_generate(spa, sav->sav_vdevs[i],
6108 sav->sav_count) == 0);
6109 for (i = 0; i < sav->sav_count; i++)
6111 kmem_free(list, sav->sav_count * sizeof (void *));
6114 spa_sync_nvlist(spa, sav->sav_object, nvroot, tx);
6117 sav->sav_sync = B_FALSE;
6909 spa_aux_vdev_t *sav = &spa->spa_spares;
6911 for (i = 0; i < sav->sav_count; i++)
6912 if (sav->sav_vdevs[i]->vdev_guid == guid)
6915 for (i = 0; i < sav->sav_npending; i++) {
6916 if (nvlist_lookup_uint64(sav->sav_pending[i], ZPOOL_CONFIG_GUID,
6933 spa_aux_vdev_t *sav = &spa->spa_spares;
6935 for (i = 0; i < sav->sav_count; i++) {
6936 if (spa_spare_exists(sav->sav_vdevs[i]->vdev_guid, &pool,