Lines Matching refs:spa

164 spa_checkpoint_get_stats(spa_t *spa, pool_checkpoint_stat_t *pcs)  in spa_checkpoint_get_stats()  argument
166 if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_get_stats()
171 int error = zap_contains(spa_meta_objset(spa), in spa_checkpoint_get_stats()
180 pcs->pcs_space = spa->spa_checkpoint_info.sci_dspace; in spa_checkpoint_get_stats()
181 pcs->pcs_start_time = spa->spa_checkpoint_info.sci_timestamp; in spa_checkpoint_get_stats()
189 spa_t *spa = arg; in spa_checkpoint_discard_complete_sync() local
191 spa->spa_checkpoint_info.sci_timestamp = 0; in spa_checkpoint_discard_complete_sync()
193 spa_feature_decr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx); in spa_checkpoint_discard_complete_sync()
195 spa_history_log_internal(spa, "spa discard checkpoint", tx, in spa_checkpoint_discard_complete_sync()
254 spa_checkpoint_accounting_verify(spa_t *spa) in spa_checkpoint_accounting_verify() argument
256 vdev_t *rvd = spa->spa_root_vdev; in spa_checkpoint_accounting_verify()
274 ASSERT3U(spa->spa_checkpoint_info.sci_dspace, ==, ckpoint_sm_space_sum); in spa_checkpoint_accounting_verify()
363 spa_checkpoint_discard_is_done(spa_t *spa) in spa_checkpoint_discard_is_done() argument
365 vdev_t *rvd = spa->spa_root_vdev; in spa_checkpoint_discard_is_done()
367 ASSERT(!spa_has_checkpoint(spa)); in spa_checkpoint_discard_is_done()
368 ASSERT(spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)); in spa_checkpoint_discard_is_done()
383 spa_t *spa = arg; in spa_checkpoint_discard_thread_check() local
385 if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_discard_thread_check()
388 if (spa_has_checkpoint(spa)) in spa_checkpoint_discard_thread_check()
397 spa_t *spa = arg; in spa_checkpoint_discard_thread() local
398 vdev_t *rvd = spa->spa_root_vdev; in spa_checkpoint_discard_thread()
433 VERIFY0(dsl_sync_task(spa->spa_name, NULL, in spa_checkpoint_discard_thread()
441 VERIFY(spa_checkpoint_discard_is_done(spa)); in spa_checkpoint_discard_thread()
442 VERIFY0(spa->spa_checkpoint_info.sci_dspace); in spa_checkpoint_discard_thread()
443 VERIFY0(dsl_sync_task(spa->spa_name, NULL, in spa_checkpoint_discard_thread()
444 spa_checkpoint_discard_complete_sync, spa, in spa_checkpoint_discard_thread()
453 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in spa_checkpoint_check() local
455 if (!spa_feature_is_enabled(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_check()
458 if (!spa_top_vdevs_spacemap_addressable(spa)) in spa_checkpoint_check()
461 if (spa->spa_vdev_removal != NULL) in spa_checkpoint_check()
464 if (spa->spa_checkpoint_txg != 0) in spa_checkpoint_check()
467 if (spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_check()
478 spa_t *spa = dp->dp_spa; in spa_checkpoint_sync() local
479 uberblock_t checkpoint = spa->spa_ubsync; in spa_checkpoint_sync()
484 ASSERT3U(zap_contains(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT, in spa_checkpoint_sync()
487 ASSERT0(spa->spa_checkpoint_info.sci_timestamp); in spa_checkpoint_sync()
488 ASSERT0(spa->spa_checkpoint_info.sci_dspace); in spa_checkpoint_sync()
495 ASSERT3U(checkpoint.ub_txg, ==, spa->spa_syncing_txg - 1); in spa_checkpoint_sync()
507 spa->spa_checkpoint_txg = checkpoint.ub_txg; in spa_checkpoint_sync()
508 spa->spa_checkpoint_info.sci_timestamp = checkpoint.ub_timestamp; in spa_checkpoint_sync()
511 VERIFY0(zap_add(spa->spa_dsl_pool->dp_meta_objset, in spa_checkpoint_sync()
522 spa_feature_incr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx); in spa_checkpoint_sync()
524 spa_history_log_internal(spa, "spa checkpoint", tx, in spa_checkpoint_sync()
535 spa_t *spa; in spa_checkpoint() local
537 error = spa_open(pool, &spa, FTAG); in spa_checkpoint()
541 mutex_enter(&spa->spa_vdev_top_lock); in spa_checkpoint()
551 txg_wait_synced(spa_get_dsl(spa), 0); in spa_checkpoint()
564 mutex_exit(&spa->spa_vdev_top_lock); in spa_checkpoint()
566 spa_close(spa, FTAG); in spa_checkpoint()
574 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in spa_checkpoint_discard_check() local
576 if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_discard_check()
579 if (spa->spa_checkpoint_txg == 0) in spa_checkpoint_discard_check()
582 VERIFY0(zap_contains(spa_meta_objset(spa), in spa_checkpoint_discard_check()
592 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in spa_checkpoint_discard_sync() local
594 VERIFY0(zap_remove(spa_meta_objset(spa), DMU_POOL_DIRECTORY_OBJECT, in spa_checkpoint_discard_sync()
597 spa->spa_checkpoint_txg = 0; in spa_checkpoint_discard_sync()
599 zthr_wakeup(spa->spa_checkpoint_discard_zthr); in spa_checkpoint_discard_sync()
601 spa_history_log_internal(spa, "spa discard checkpoint", tx, in spa_checkpoint_discard_sync()