Lines Matching refs:spa

326 	spa_t *spa = vd->vdev_spa;  in vdev_indirect_mark_obsolete()  local
334 if (spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)) { in vdev_indirect_mark_obsolete()
338 vdev_dirty(vd, 0, NULL, spa_syncing_txg(spa)); in vdev_indirect_mark_obsolete()
348 spa_vdev_indirect_mark_obsolete(spa_t *spa, uint64_t vdev_id, uint64_t offset, in spa_vdev_indirect_mark_obsolete() argument
351 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in spa_vdev_indirect_mark_obsolete()
360 spa_condensing_indirect_create(spa_t *spa) in spa_condensing_indirect_create() argument
363 &spa->spa_condensing_indirect_phys; in spa_condensing_indirect_create()
365 objset_t *mos = spa->spa_meta_objset; in spa_condensing_indirect_create()
395 spa_t *spa = vd->vdev_spa; in vdev_indirect_should_condense() local
397 ASSERT(dsl_pool_sync_context(spa->spa_dsl_pool)); in vdev_indirect_should_condense()
405 if (spa->spa_condensing_indirect != NULL) in vdev_indirect_should_condense()
408 if (spa_shutting_down(spa)) in vdev_indirect_should_condense()
482 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in spa_condense_indirect_complete_sync() local
484 &spa->spa_condensing_indirect_phys; in spa_condense_indirect_complete_sync()
485 vdev_t *vd = vdev_lookup_top(spa, scip->scip_vdev); in spa_condense_indirect_complete_sync()
487 objset_t *mos = spa->spa_meta_objset; in spa_condense_indirect_complete_sync()
495 ASSERT3P(sci, ==, spa->spa_condensing_indirect); in spa_condense_indirect_complete_sync()
518 spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx); in spa_condense_indirect_complete_sync()
525 spa_condensing_indirect_destroy(spa->spa_condensing_indirect); in spa_condense_indirect_complete_sync()
526 spa->spa_condensing_indirect = NULL; in spa_condense_indirect_complete_sync()
534 vdev_config_dirty(spa->spa_root_vdev); in spa_condense_indirect_complete_sync()
545 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in spa_condense_indirect_commit_sync() local
548 ASSERT3P(sci, ==, spa->spa_condensing_indirect); in spa_condense_indirect_commit_sync()
560 spa_condense_indirect_commit_entry(spa_t *spa, in spa_condense_indirect_commit_entry() argument
563 spa_condensing_indirect_t *sci = spa->spa_condensing_indirect; in spa_condense_indirect_commit_entry()
567 dmu_tx_t *tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir); in spa_condense_indirect_commit_entry()
595 spa_t *spa = vd->vdev_spa; in spa_condense_indirect_generate_new_mapping() local
602 ASSERT3U(vd->vdev_id, ==, spa->spa_condensing_indirect_phys.scip_vdev); in spa_condense_indirect_generate_new_mapping()
622 spa_condense_indirect_commit_entry(spa, entry, in spa_condense_indirect_generate_new_mapping()
640 spa_t *spa = arg; in spa_condense_indirect_thread_check() local
642 return (spa->spa_condensing_indirect != NULL); in spa_condense_indirect_thread_check()
649 spa_t *spa = arg; in spa_condense_indirect_thread() local
652 ASSERT3P(spa->spa_condensing_indirect, !=, NULL); in spa_condense_indirect_thread()
653 spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER); in spa_condense_indirect_thread()
654 vd = vdev_lookup_top(spa, spa->spa_condensing_indirect_phys.scip_vdev); in spa_condense_indirect_thread()
656 spa_config_exit(spa, SCL_VDEV, FTAG); in spa_condense_indirect_thread()
658 spa_condensing_indirect_t *sci = spa->spa_condensing_indirect; in spa_condense_indirect_thread()
660 &spa->spa_condensing_indirect_phys; in spa_condense_indirect_thread()
682 VERIFY0(space_map_open(&prev_obsolete_sm, spa->spa_meta_objset, in spa_condense_indirect_thread()
744 VERIFY0(dsl_sync_task(spa_name(spa), NULL, in spa_condense_indirect_thread()
755 spa_t *spa = vd->vdev_spa; in spa_condense_indirect_start_sync() local
757 &spa->spa_condensing_indirect_phys; in spa_condense_indirect_start_sync()
764 ASSERT(spa_feature_is_active(spa, SPA_FEATURE_OBSOLETE_COUNTS)); in spa_condense_indirect_start_sync()
772 vdev_indirect_mapping_alloc(spa->spa_meta_objset, tx); in spa_condense_indirect_start_sync()
782 VERIFY0(zap_remove(spa->spa_meta_objset, vd->vdev_top_zap, in spa_condense_indirect_start_sync()
785 VERIFY0(zap_add(spa->spa_dsl_pool->dp_meta_objset, in spa_condense_indirect_start_sync()
790 ASSERT3P(spa->spa_condensing_indirect, ==, NULL); in spa_condense_indirect_start_sync()
791 spa->spa_condensing_indirect = spa_condensing_indirect_create(spa); in spa_condense_indirect_start_sync()
799 zthr_wakeup(spa->spa_condense_zthr); in spa_condense_indirect_start_sync()
811 spa_t *spa = vd->vdev_spa; in vdev_indirect_sync_obsolete() local
817 ASSERT(spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)); in vdev_indirect_sync_obsolete()
821 space_map_alloc(spa->spa_meta_objset, in vdev_indirect_sync_obsolete()
830 spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx); in vdev_indirect_sync_obsolete()
832 spa->spa_meta_objset, obsolete_sm_object, in vdev_indirect_sync_obsolete()
846 spa_condense_init(spa_t *spa) in spa_condense_init() argument
848 int error = zap_lookup(spa->spa_meta_objset, in spa_condense_init()
851 sizeof (spa->spa_condensing_indirect_phys) / sizeof (uint64_t), in spa_condense_init()
852 &spa->spa_condensing_indirect_phys); in spa_condense_init()
854 if (spa_writeable(spa)) { in spa_condense_init()
855 spa->spa_condensing_indirect = in spa_condense_init()
856 spa_condensing_indirect_create(spa); in spa_condense_init()
867 spa_condense_fini(spa_t *spa) in spa_condense_fini() argument
869 if (spa->spa_condensing_indirect != NULL) { in spa_condense_fini()
870 spa_condensing_indirect_destroy(spa->spa_condensing_indirect); in spa_condense_fini()
871 spa->spa_condensing_indirect = NULL; in spa_condense_fini()
876 spa_start_indirect_condensing_thread(spa_t *spa) in spa_start_indirect_condensing_thread() argument
878 ASSERT3P(spa->spa_condense_zthr, ==, NULL); in spa_start_indirect_condensing_thread()
879 spa->spa_condense_zthr = zthr_create(spa_condense_indirect_thread_check, in spa_start_indirect_condensing_thread()
880 spa_condense_indirect_thread, spa); in spa_start_indirect_condensing_thread()
1041 spa_t *spa = vd->vdev_spa; in vdev_indirect_remap() local
1051 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in vdev_indirect_remap()
1113 vdev_t *dst_v = vdev_lookup_top(spa, dst_vdev); in vdev_indirect_remap()
1280 spa_t *spa = zio->io_spa; in vdev_indirect_io_start() local
1288 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in vdev_indirect_io_start()