Lines Matching defs:spa

28 #include <sys/spa.h>
59 spa_t *spa = ddt->ddt_spa;
75 VERIFY(zap_add(os, spa->spa_ddt_stat_object, name,
84 spa_t *spa = ddt->ddt_spa;
95 VERIFY(zap_remove(os, spa->spa_ddt_stat_object, name, tx) == 0);
354 spa_t *spa = ddt->ddt_spa;
370 dsize += dva_get_dsize_sync(spa, &ddp->ddp_dva[d]);
444 ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo_total)
448 ddt_t *ddt = spa->spa_ddt[c];
469 ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh)
472 ddt_t *ddt = spa->spa_ddt[c];
484 ddt_get_dedup_stats(spa_t *spa, ddt_stat_t *dds_total)
489 ddt_get_dedup_histogram(spa, ddh_total);
495 ddt_get_dedup_dspace(spa_t *spa)
499 ddt_get_dedup_stats(spa, &dds_total);
504 ddt_get_pool_dedup_ratio(spa_t *spa)
508 ddt_get_dedup_stats(spa, &dds_total);
518 spa_t *spa = ddt->ddt_spa;
520 uint64_t ditto = spa->spa_dedup_ditto;
610 ddt_select_by_checksum(spa_t *spa, enum zio_checksum c)
612 return (spa->spa_ddt[c]);
616 ddt_select(spa_t *spa, const blkptr_t *bp)
618 return (spa->spa_ddt[BP_GET_CHECKSUM(bp)]);
735 ddt_prefetch(spa_t *spa, const blkptr_t *bp)
748 ddt = ddt_select(spa, bp);
777 ddt_table_alloc(spa_t *spa, enum zio_checksum c)
789 ddt->ddt_spa = spa;
790 ddt->ddt_os = spa->spa_meta_objset;
807 ddt_create(spa_t *spa)
809 spa->spa_dedup_checksum = ZIO_DEDUPCHECKSUM;
812 spa->spa_ddt[c] = ddt_table_alloc(spa, c);
816 ddt_load(spa_t *spa)
820 ddt_create(spa);
822 error = zap_lookup(spa->spa_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
824 &spa->spa_ddt_stat_object);
830 ddt_t *ddt = spa->spa_ddt[c];
851 ddt_unload(spa_t *spa)
854 if (spa->spa_ddt[c]) {
855 ddt_table_free(spa->spa_ddt[c]);
856 spa->spa_ddt[c] = NULL;
862 ddt_class_contains(spa_t *spa, enum ddt_class max_class, const blkptr_t *bp)
873 ddt = spa->spa_ddt[BP_GET_CHECKSUM(bp)];
967 spa_t *spa = ddt->ddt_spa;
972 if (spa_sync_pass(spa) > 1)
1059 spa_t *spa = ddt->ddt_spa;
1066 ASSERT(spa->spa_uberblock.ub_version >= SPA_VERSION_DEDUP);
1068 if (spa->spa_ddt_stat_object == 0) {
1069 spa->spa_ddt_stat_object = zap_create_link(ddt->ddt_os,
1098 ddt_sync(spa_t *spa, uint64_t txg)
1101 zio_t *rio = zio_root(spa, NULL, NULL,
1104 ASSERT(spa_syncing_txg(spa) == txg);
1106 tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
1109 ddt_t *ddt = spa->spa_ddt[c];
1122 ddt_walk(spa_t *spa, ddt_bookmark_t *ddb, ddt_entry_t *dde)
1127 ddt_t *ddt = spa->spa_ddt[ddb->ddb_checksum];