Lines Matching refs:ds_dir
194 if (dsl_deadlist_is_open(&ds->ds_dir->dd_livelist) && in dsl_dataset_block_born()
195 BP_GET_LOGICAL_BIRTH(bp) > ds->ds_dir->dd_origin_txg && in dsl_dataset_block_born()
197 ASSERT(dsl_dir_is_clone(ds->ds_dir)); in dsl_dataset_block_born()
200 bplist_append(&ds->ds_dir->dd_pending_allocs, bp); in dsl_dataset_block_born()
204 dsl_dir_diduse_transfer_space(ds->ds_dir, delta, in dsl_dataset_block_born()
220 spa_t *spa = ds->ds_dir->dd_pool->dp_spa; in dsl_dataset_block_remapped()
272 ASSERT3P(tx->tx_pool, ==, ds->ds_dir->dd_pool); in dsl_dataset_block_kill()
281 if (dsl_deadlist_is_open(&ds->ds_dir->dd_livelist) && in dsl_dataset_block_kill()
282 BP_GET_LOGICAL_BIRTH(bp) > ds->ds_dir->dd_origin_txg && in dsl_dataset_block_kill()
284 ASSERT(dsl_dir_is_clone(ds->ds_dir)); in dsl_dataset_block_kill()
287 bplist_append(&ds->ds_dir->dd_pending_frees, bp); in dsl_dataset_block_kill()
306 bpobj_enqueue(&ds->ds_dir->dd_pool->dp_free_bpobj, in dsl_dataset_block_kill()
321 dsl_dir_diduse_transfer_space(ds->ds_dir, in dsl_dataset_block_kill()
354 if (BP_GET_LOGICAL_BIRTH(bp) > ds->ds_dir->dd_origin_txg) { in dsl_dataset_block_kill()
355 dsl_dir_transfer_space(ds->ds_dir, used, in dsl_dataset_block_kill()
480 if (ds->ds_dir) in dsl_dataset_evict_async()
481 dsl_dir_async_rele(ds->ds_dir, ds); in dsl_dataset_evict_async()
507 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_dataset_get_snapname()
515 err = dmu_bonus_hold(mos, dsl_dir_phys(ds->ds_dir)->dd_head_dataset_obj, in dsl_dataset_get_snapname()
536 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_dataset_snap_lookup()
555 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_dataset_snap_remove()
560 dsl_dir_snap_cmtime_update(ds->ds_dir, tx); in dsl_dataset_snap_remove()
570 dsl_fs_ss_count_adjust(ds->ds_dir, -1, in dsl_dataset_snap_remove()
628 NULL, ds, &ds->ds_dir); in dsl_dataset_hold_obj()
678 ds->ds_dir->dd_pool->dp_meta_objset, in dsl_dataset_hold_obj()
697 if (err == 0 && ds->ds_dir->dd_crypto_obj != 0 && in dsl_dataset_hold_obj()
731 dsl_dir_rele(ds->ds_dir, ds); in dsl_dataset_hold_obj()
781 dsl_dir_t *dd = ds->ds_dir; in dsl_dataset_create_key_mapping()
942 ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool)); in dsl_dataset_long_hold()
965 dsl_dir_name(ds->ds_dir, name); in dsl_dataset_name()
999 len += dsl_dir_namelen(ds->ds_dir); in dsl_dataset_namelen()
1012 dsl_dir_t *dd = ds->ds_dir; in dsl_dataset_remove_key_mapping()
1049 ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool)); in dsl_dataset_tryown()
1185 ASSERT(origin == NULL || origin->ds_dir->dd_pool == dp); in dsl_dataset_create_sync_dd()
1243 dsl_dir_phys(origin->ds_dir)->dd_head_dataset_obj, in dsl_dataset_create_sync_dd()
1263 if (dsl_dir_phys(origin->ds_dir)->dd_clones == 0) { in dsl_dataset_create_sync_dd()
1264 dmu_buf_will_dirty(origin->ds_dir->dd_dbuf, tx); in dsl_dataset_create_sync_dd()
1265 dsl_dir_phys(origin->ds_dir)->dd_clones = in dsl_dataset_create_sync_dd()
1270 dsl_dir_phys(origin->ds_dir)->dd_clones, in dsl_dataset_create_sync_dd()
1296 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_dataset_zero_zil()
1411 if (spa_version(ds->ds_dir->dd_pool->dp_spa) >= in dsl_dataset_recalc_head_uniq()
1420 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_dataset_remove_from_next_clones()
1454 return (ds->ds_dir->dd_pool->dp_spa); in dsl_dataset_get_spa()
1473 dp = ds->ds_dir->dd_pool; in dsl_dataset_dirty()
1481 if (ds->ds_dir->dd_crypto_obj != 0 && in dsl_dataset_dirty()
1505 if (asize > dsl_dir_space_available(ds->ds_dir, NULL, 0, TRUE)) in dsl_dataset_snapshot_reserve_space()
1513 dsl_dir_willuse_space(ds->ds_dir, asize, tx); in dsl_dataset_snapshot_reserve_space()
1564 error = dsl_fs_ss_limit_check(ds->ds_dir, cnt, in dsl_dataset_snapshot_check_impl()
1664 error = dsl_fs_ss_limit_check(ds->ds_dir, cnt, in dsl_dataset_snapshot_check()
1724 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_dataset_snapshot_sync_impl()
1743 ASSERT(!txg_list_member(&ds->ds_dir->dd_pool->dp_dirty_datasets, in dsl_dataset_snapshot_sync_impl()
1746 dsl_fs_ss_count_adjust(ds->ds_dir, 1, DD_FIELD_SNAPSHOT_COUNT, tx); in dsl_dataset_snapshot_sync_impl()
1762 dsphys->ds_dir_obj = ds->ds_dir->dd_object; in dsl_dataset_snapshot_sync_impl()
1822 dsl_dir_diduse_space(ds->ds_dir, DD_USED_REFRSRV, in dsl_dataset_snapshot_sync_impl()
1868 if (ds->ds_dir->dd_crypto_obj != 0 && in dsl_dataset_snapshot_sync_impl()
1895 dsl_dir_snap_cmtime_update(ds->ds_dir, tx); in dsl_dataset_snapshot_sync_impl()
2147 used = dsl_dir_get_usedds(ds->ds_dir); in dsl_livelist_should_disable()
2193 dsl_deadlist_t *ll = &ds->ds_dir->dd_livelist; in dsl_livelist_try_condense()
2237 dsl_dir_t *dd = ds->ds_dir; in dsl_flush_pending_livelist()
2238 spa_t *spa = ds->ds_dir->dd_pool->dp_spa; in dsl_flush_pending_livelist()
2287 if (dsl_deadlist_is_open(&ds->ds_dir->dd_livelist)) { in dsl_dataset_sync_done()
2290 dsl_dir_remove_livelist(ds->ds_dir, tx, B_TRUE); in dsl_dataset_sync_done()
2321 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in get_clones_stat_impl()
2325 ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool)); in get_clones_stat_impl()
2347 VERIFY0(dsl_dataset_hold_obj(ds->ds_dir->dd_pool, in get_clones_stat_impl()
2349 dsl_dir_name(clone->ds_dir, buf); in get_clones_stat_impl()
2380 dsl_pool_t *dp = ds->ds_dir->dd_pool; in get_receive_resume_token_impl()
2516 dsl_dataset_hold(ds->ds_dir->dd_pool, name, FTAG, &recv_ds) == 0) { in get_receive_resume_token()
2544 dsl_dir_t *dd = ds->ds_dir; in dsl_get_compressratio()
2558 dsl_dir_t *dd = ds->ds_dir; in dsl_get_used()
2651 uint64_t availbytes = dsl_dir_space_available(ds->ds_dir, in dsl_get_available()
2674 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_get_written()
2693 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_get_prev_snap()
2725 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_get_mountpoint()
2799 dsl_pool_t *dp __maybe_unused = ds->ds_dir->dd_pool; in dsl_dataset_stats()
2819 dsl_dir_stats(ds->ds_dir, nv); in dsl_dataset_stats()
2851 dsl_dir_snap_cmtime(ds->ds_dir).tv_sec); in dsl_dataset_stats()
2875 dsl_pool_t *dp __maybe_unused = ds->ds_dir->dd_pool; in dsl_dataset_fast_stat()
2890 if (dsl_dir_is_clone(ds->ds_dir)) { in dsl_dataset_fast_stat()
2891 dsl_dir_get_origin(ds->ds_dir, stat->dds_origin); in dsl_dataset_fast_stat()
2908 *availbytesp = dsl_dir_space_available(ds->ds_dir, NULL, 0, TRUE); in dsl_dataset_space()
2931 dsl_pool_t *dp __maybe_unused = ds->ds_dir->dd_pool; in dsl_dataset_modified_since_snap()
2981 if (dsl_dir_namelen(hds->ds_dir) + 1 + in dsl_dataset_rename_snapshot_check_impl()
3001 error = dmu_objset_find_dp(dp, hds->ds_dir->dd_object, in dsl_dataset_rename_snapshot_check()
3067 VERIFY0(dmu_objset_find_dp(dp, hds->ds_dir->dd_object, in dsl_dataset_rename_snapshot_sync()
3107 dsl_dir_t *dd = ds->ds_dir; in dsl_dataset_handoff_check()
3198 if (snapds->ds_dir == ds->ds_dir || in dsl_dataset_rollback_check()
3199 (dsl_dir_is_clone(ds->ds_dir) && in dsl_dataset_rollback_check()
3200 dsl_dir_phys(ds->ds_dir)->dd_origin_obj == in dsl_dataset_rollback_check()
3248 dsl_dir_space_available(ds->ds_dir, NULL, 0, TRUE)) { in dsl_dataset_rollback_check()
3271 cloneobj = dsl_dataset_create_sync(ds->ds_dir, "%rollback", in dsl_dataset_rollback_sync()
3362 err = dsl_dataset_promote_crypt_check(hds->ds_dir, origin_ds->ds_dir); in dsl_dataset_promote_check()
3497 err = dsl_dir_transfer_possible(origin_ds->ds_dir, hds->ds_dir, in dsl_dataset_promote_check()
3508 if (dsl_dir_phys(hds->ds_dir)->dd_flags & DD_FLAG_USED_BREAKDOWN) { in dsl_dataset_promote_check()
3524 snap->ds->ds_dir->dd_origin_txg, &ddpa->cloneusedsnap); in dsl_dataset_promote_check()
3529 snap->ds->ds_dir->dd_origin_txg, &space); in dsl_dataset_promote_check()
3534 if (dsl_dir_phys(origin_ds->ds_dir)->dd_flags & in dsl_dataset_promote_check()
3571 dd = hds->ds_dir; in dsl_dataset_promote_sync()
3580 VERIFY0(dsl_dir_hold_obj(dp, origin_ds->ds_dir->dd_object, in dsl_dataset_promote_sync()
3583 dsl_dataset_promote_crypt_sync(hds->ds_dir, odd, tx); in dsl_dataset_promote_sync()
3606 dd->dd_origin_txg = origin_head->ds_dir->dd_origin_txg; in dsl_dataset_promote_sync()
3609 origin_head->ds_dir->dd_origin_txg = in dsl_dataset_promote_sync()
3617 dsl_dir_phys(ddpa->origin_origin->ds_dir)->dd_clones, in dsl_dataset_promote_sync()
3621 dsl_dir_phys(ddpa->origin_origin->ds_dir)->dd_clones, in dsl_dataset_promote_sync()
3673 dsl_fs_ss_count_adjust(hds->ds_dir, 1, in dsl_dataset_promote_sync()
3680 ASSERT3P(ds->ds_dir, ==, odd); in dsl_dataset_promote_sync()
3681 dsl_dir_rele(ds->ds_dir, ds); in dsl_dataset_promote_sync()
3683 NULL, ds, &ds->ds_dir)); in dsl_dataset_promote_sync()
3708 o = dsl_dir_phys(cnds->ds_dir)-> in dsl_dataset_promote_sync()
3803 first_obj = dsl_dir_phys(ds->ds_dir)->dd_origin_obj; in snaplist_make()
3855 dd = ddpa->ddpa_clone->ds_dir; in promote_hold()
3876 dsl_dir_phys(snap->ds->ds_dir)->dd_head_dataset_obj, in promote_hold()
3881 if (dsl_dir_phys(snap->ds->ds_dir)->dd_origin_obj != 0) { in promote_hold()
3883 dsl_dir_phys(snap->ds->ds_dir)->dd_origin_obj, in promote_hold()
3978 clone->ds_prev != clone->ds_dir->dd_pool->dp_origin_snap && in dsl_dataset_clone_swap_check_impl()
3979 origin_head->ds_dir != clone->ds_prev->ds_dir) in dsl_dataset_clone_swap_check_impl()
3983 if (clone->ds_dir->dd_parent != origin_head->ds_dir) in dsl_dataset_clone_swap_check_impl()
4004 dsl_dir_space_available(origin_head->ds_dir, NULL, 0, TRUE)) in dsl_dataset_clone_swap_check_impl()
4080 dsl_dir_cancel_waiters(origin_head->ds_dir); in dsl_dataset_clone_swap_sync_impl()
4167 ASSERT3U(dsl_dir_phys(clone->ds_dir)-> in dsl_dataset_clone_swap_sync_impl()
4188 dsl_dir_diduse_space(origin_head->ds_dir, DD_USED_HEAD, in dsl_dataset_clone_swap_sync_impl()
4190 dsl_dir_diduse_space(clone->ds_dir, DD_USED_HEAD, in dsl_dataset_clone_swap_sync_impl()
4200 origin_head->ds_dir->dd_origin_txg, UINT64_MAX, in dsl_dataset_clone_swap_sync_impl()
4203 origin_head->ds_dir->dd_origin_txg, UINT64_MAX, in dsl_dataset_clone_swap_sync_impl()
4205 dsl_dir_transfer_space(origin_head->ds_dir, cdl_used - odl_used, in dsl_dataset_clone_swap_sync_impl()
4220 dsl_dir_diduse_space(origin_head->ds_dir, DD_USED_REFRSRV, in dsl_dataset_clone_swap_sync_impl()
4249 dsl_dir_remove_livelist(clone->ds_dir, tx, B_TRUE); in dsl_dataset_clone_swap_sync_impl()
4250 dsl_dir_remove_livelist(origin_head->ds_dir, tx, B_TRUE); in dsl_dataset_clone_swap_sync_impl()
4253 "parent=%s", origin_head->ds_dir->dd_myname); in dsl_dataset_clone_swap_sync_impl()
4359 error = dsl_prop_predict(ds->ds_dir, in dsl_dataset_set_refquota_check()
4443 error = dsl_prop_predict(ds->ds_dir, in dsl_dataset_set_refreservation_check()
4471 dsl_dir_space_available(ds->ds_dir, NULL, 0, B_TRUE) || in dsl_dataset_set_refreservation_check()
4497 mutex_enter(&ds->ds_dir->dd_lock); in dsl_dataset_set_refreservation_sync_impl()
4506 dsl_dir_diduse_space(ds->ds_dir, DD_USED_REFRSRV, delta, 0, 0, tx); in dsl_dataset_set_refreservation_sync_impl()
4507 mutex_exit(&ds->ds_dir->dd_lock); in dsl_dataset_set_refreservation_sync_impl()
4633 dsl_pool_t *dp = new->ds_dir->dd_pool; in dsl_dataset_space_written_impl()
4768 dsl_pool_t *dp = firstsnap->ds_dir->dd_pool; in dsl_dataset_space_wouldfree()
4777 if (firstsnap->ds_dir != lastsnap->ds_dir || in dsl_dataset_space_wouldfree()
4820 dsl_pool_t *dp = later->ds_dir->dd_pool; in dsl_dataset_is_before()
4834 if (later->ds_dir == earlier->ds_dir) in dsl_dataset_is_before()
4843 if (dsl_dir_phys(later->ds_dir)->dd_origin_obj == 0) in dsl_dataset_is_before()
4848 dsl_dir_phys(later->ds_dir)->dd_origin_obj, FTAG, &origin); in dsl_dataset_is_before()
4852 origin->ds_dir == earlier->ds_dir) { in dsl_dataset_is_before()
4864 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_dataset_zapify()
4881 zap_contains(ds->ds_dir->dd_pool->dp_meta_objset, in dsl_dataset_has_resume_receive_state()
4894 err = zap_lookup(ds->ds_dir->dd_pool->dp_meta_objset, ds->ds_object, in dsl_dataset_get_remap_deadlist_object()
4921 VERIFY0(zap_add(ds->ds_dir->dd_pool->dp_meta_objset, ds->ds_object, in dsl_dataset_set_remap_deadlist_object()
4928 VERIFY0(zap_remove(ds->ds_dir->dd_pool->dp_meta_objset, in dsl_dataset_unset_remap_deadlist_object()
4936 spa_t *spa = ds->ds_dir->dd_pool->dp_spa; in dsl_dataset_destroy_remap_deadlist()
4952 spa_t *spa = ds->ds_dir->dd_pool->dp_spa; in dsl_dataset_create_remap_deadlist()