Lines Matching refs:tx
86 dsl_dataset_block_born(dsl_dataset_t *ds, const blkptr_t *bp, dmu_tx_t *tx) in dsl_dataset_block_born() argument
88 int used = bp_get_dsize_sync(tx->tx_pool->dp_spa, bp); in dsl_dataset_block_born()
95 ASSERT(dmu_tx_is_syncing(tx)); in dsl_dataset_block_born()
107 dsl_dir_diduse_space(tx->tx_pool->dp_mos_dir, DD_USED_HEAD, in dsl_dataset_block_born()
108 used, compressed, uncompressed, tx); in dsl_dataset_block_born()
109 dsl_dir_dirty(tx->tx_pool->dp_mos_dir, tx); in dsl_dataset_block_born()
112 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_block_born()
123 compressed, uncompressed, tx); in dsl_dataset_block_born()
125 DD_USED_REFRSRV, DD_USED_HEAD, tx); in dsl_dataset_block_born()
130 dsl_dataset_block_kill(dsl_dataset_t *ds, const blkptr_t *bp, dmu_tx_t *tx, in dsl_dataset_block_kill() argument
136 ASSERT(dmu_tx_is_syncing(tx)); in dsl_dataset_block_kill()
137 ASSERT(bp->blk_birth <= tx->tx_txg); in dsl_dataset_block_kill()
139 int used = bp_get_dsize_sync(tx->tx_pool->dp_spa, bp); in dsl_dataset_block_kill()
149 dsl_free(tx->tx_pool, tx->tx_txg, bp); in dsl_dataset_block_kill()
151 dsl_dir_diduse_space(tx->tx_pool->dp_mos_dir, DD_USED_HEAD, in dsl_dataset_block_kill()
152 -used, -compressed, -uncompressed, tx); in dsl_dataset_block_kill()
153 dsl_dir_dirty(tx->tx_pool->dp_mos_dir, tx); in dsl_dataset_block_kill()
156 ASSERT3P(tx->tx_pool, ==, ds->ds_dir->dd_pool); in dsl_dataset_block_kill()
159 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_block_kill()
165 dsl_free(tx->tx_pool, tx->tx_txg, bp); in dsl_dataset_block_kill()
175 delta, -compressed, -uncompressed, tx); in dsl_dataset_block_kill()
177 DD_USED_REFRSRV, DD_USED_HEAD, tx); in dsl_dataset_block_kill()
191 dsl_deadlist_insert(&ds->ds_deadlist, bp, tx); in dsl_dataset_block_kill()
200 dmu_buf_will_dirty(ds->ds_prev->ds_dbuf, tx); in dsl_dataset_block_kill()
207 DD_USED_HEAD, DD_USED_SNAP, tx); in dsl_dataset_block_kill()
342 dsl_dataset_snap_remove(dsl_dataset_t *ds, char *name, dmu_tx_t *tx) in dsl_dataset_snap_remove() argument
356 err = zap_remove_norm(mos, snapobj, name, mt, tx); in dsl_dataset_snap_remove()
358 err = zap_remove(mos, snapobj, name, tx); in dsl_dataset_snap_remove()
772 uint64_t flags, dmu_tx_t *tx) in dsl_dataset_create_sync_dd() argument
785 ASSERT(dmu_tx_is_syncing(tx)); in dsl_dataset_create_sync_dd()
789 DMU_OT_DSL_DATASET, sizeof (dsl_dataset_phys_t), tx); in dsl_dataset_create_sync_dd()
791 dmu_buf_will_dirty(dbuf, tx); in dsl_dataset_create_sync_dd()
801 DMU_OT_NONE, 0, tx); in dsl_dataset_create_sync_dd()
803 dsphys->ds_creation_txg = tx->tx_txg == TXG_INITIAL ? 1 : tx->tx_txg; in dsl_dataset_create_sync_dd()
806 dsphys->ds_deadlist_obj = dsl_deadlist_alloc(mos, tx); in dsl_dataset_create_sync_dd()
822 dmu_buf_will_dirty(origin->ds_dbuf, tx); in dsl_dataset_create_sync_dd()
828 dsphys->ds_prev_snap_txg, dsphys->ds_prev_snap_obj, tx); in dsl_dataset_create_sync_dd()
835 DMU_OT_NEXT_CLONES, DMU_OT_NONE, 0, tx); in dsl_dataset_create_sync_dd()
839 dsobj, tx)); in dsl_dataset_create_sync_dd()
842 dmu_buf_will_dirty(dd->dd_dbuf, tx); in dsl_dataset_create_sync_dd()
846 dmu_buf_will_dirty(origin->ds_dir->dd_dbuf, tx); in dsl_dataset_create_sync_dd()
849 DMU_OT_DSL_CLONES, DMU_OT_NONE, 0, tx); in dsl_dataset_create_sync_dd()
852 origin->ds_dir->dd_phys->dd_clones, dsobj, tx)); in dsl_dataset_create_sync_dd()
861 dmu_buf_will_dirty(dd->dd_dbuf, tx); in dsl_dataset_create_sync_dd()
869 dsl_dataset_t *origin, uint64_t flags, cred_t *cr, dmu_tx_t *tx) in dsl_dataset_create_sync() argument
877 ddobj = dsl_dir_create_sync(dp, pdd, lastname, tx); in dsl_dataset_create_sync()
880 dsobj = dsl_dataset_create_sync_dd(dd, origin, flags, tx); in dsl_dataset_create_sync()
882 dsl_deleg_set_create_perms(dd, tx, cr); in dsl_dataset_create_sync()
897 dsl_dataset_dirty(ds, tx); in dsl_dataset_create_sync()
1192 dsl_dataset_set_blkptr(dsl_dataset_t *ds, blkptr_t *bp, dmu_tx_t *tx) in dsl_dataset_set_blkptr() argument
1194 ASSERT(dmu_tx_is_syncing(tx)); in dsl_dataset_set_blkptr()
1197 tx->tx_pool->dp_meta_rootbp = *bp; in dsl_dataset_set_blkptr()
1199 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_set_blkptr()
1211 dsl_dataset_dirty(dsl_dataset_t *ds, dmu_tx_t *tx) in dsl_dataset_dirty() argument
1225 if (txg_list_add(&dp->dp_dirty_datasets, ds, tx->tx_txg) == 0) { in dsl_dataset_dirty()
1265 dmu_tx_t *tx; member
1274 dmu_tx_t *tx = ka->tx; in kill_blkptr() local
1285 dsl_free(ka->tx->tx_pool, ka->tx->tx_txg, bp); in kill_blkptr()
1289 (void) dsl_dataset_block_kill(ka->ds, bp, tx, B_FALSE); in kill_blkptr()
1297 dsl_dataset_destroy_begin_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_destroy_begin_check() argument
1329 dsl_dataset_destroy_begin_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_destroy_begin_sync() argument
1335 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_destroy_begin_sync()
1338 spa_history_log_internal(LOG_DS_DESTROY_BEGIN, dp->dp_spa, tx, in dsl_dataset_destroy_begin_sync()
1344 dmu_tx_t *tx) in dsl_dataset_origin_check() argument
1363 return (dsl_dataset_destroy_check(&ndsda, tag, tx)); in dsl_dataset_origin_check()
1385 dsl_dataset_destroy_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_destroy_check() argument
1418 if (ds->ds_phys->ds_bp.blk_birth >= tx->tx_txg) in dsl_dataset_destroy_check()
1443 return (dsl_dataset_origin_check(dsda, arg2, tx)); in dsl_dataset_destroy_check()
1491 remove_from_next_clones(dsl_dataset_t *ds, uint64_t obj, dmu_tx_t *tx) in remove_from_next_clones() argument
1498 err = zap_remove_int(mos, ds->ds_phys->ds_next_clones_obj, obj, tx); in remove_from_next_clones()
1518 dsl_dataset_remove_clones_key(dsl_dataset_t *ds, uint64_t mintxg, dmu_tx_t *tx) in dsl_dataset_remove_clones_key() argument
1541 mintxg, tx); in dsl_dataset_remove_clones_key()
1542 dsl_dataset_remove_clones_key(clone, mintxg, tx); in dsl_dataset_remove_clones_key()
1558 process_old_cb(void *arg, const blkptr_t *bp, dmu_tx_t *tx) in process_old_cb() argument
1564 dsl_deadlist_insert(&poa->ds->ds_deadlist, bp, tx); in process_old_cb()
1575 dsl_free_sync(poa->pio, dp, tx->tx_txg, bp); in process_old_cb()
1582 dsl_dataset_t *ds_next, boolean_t after_branch_point, dmu_tx_t *tx) in process_old_deadlist() argument
1596 process_old_cb, &poa, tx)); in process_old_deadlist()
1602 -poa.used, -poa.comp, -poa.uncomp, tx); in process_old_deadlist()
1615 dsl_dataset_destroy_sync(void *arg1, void *tag, dmu_tx_t *tx) in dsl_dataset_destroy_sync() argument
1634 ASSERT3U(ds->ds_phys->ds_bp.blk_birth, <=, tx->tx_txg); in dsl_dataset_destroy_sync()
1638 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_destroy_sync()
1659 dsl_dataset_set_reservation_sync(ds, &psa, tx); in dsl_dataset_destroy_sync()
1665 dsl_scan_ds_destroyed(ds, tx); in dsl_dataset_destroy_sync()
1679 dmu_buf_will_dirty(ds_prev->ds_dbuf, tx); in dsl_dataset_destroy_sync()
1682 remove_from_next_clones(ds_prev, obj, tx); in dsl_dataset_destroy_sync()
1686 ds->ds_phys->ds_next_snap_obj, tx)); in dsl_dataset_destroy_sync()
1725 dmu_buf_will_dirty(ds_next->ds_dbuf, tx); in dsl_dataset_destroy_sync()
1736 after_branch_point, tx); in dsl_dataset_destroy_sync()
1752 -used, -comp, -uncomp, tx); in dsl_dataset_destroy_sync()
1757 tx); in dsl_dataset_destroy_sync()
1758 dsl_dir_diduse_space(tx->tx_pool->dp_free_dir, in dsl_dataset_destroy_sync()
1759 DD_USED_HEAD, used, comp, uncomp, tx); in dsl_dataset_destroy_sync()
1760 dsl_dir_dirty(tx->tx_pool->dp_free_dir, tx); in dsl_dataset_destroy_sync()
1764 ds->ds_phys->ds_deadlist_obj, tx); in dsl_dataset_destroy_sync()
1767 dsl_deadlist_free(mos, ds->ds_phys->ds_deadlist_obj, tx); in dsl_dataset_destroy_sync()
1771 ds->ds_phys->ds_creation_txg, tx); in dsl_dataset_destroy_sync()
1802 ds->ds_phys->ds_creation_txg, tx); in dsl_dataset_destroy_sync()
1831 DD_USED_REFRSRV, -mrsdelta, 0, 0, tx); in dsl_dataset_destroy_sync()
1845 dsl_deadlist_free(mos, ds->ds_phys->ds_deadlist_obj, tx); in dsl_dataset_destroy_sync()
1856 ka.tx = tx; in dsl_dataset_destroy_sync()
1867 ds->ds_object, tx)); in dsl_dataset_destroy_sync()
1885 dmu_buf_will_dirty(ds->ds_dir->dd_dbuf, tx); in dsl_dataset_destroy_sync()
1888 err = zap_destroy(mos, ds->ds_phys->ds_snapnames_zapobj, tx); in dsl_dataset_destroy_sync()
1907 err = dsl_dataset_snap_remove(ds_head, ds->ds_snapname, tx); in dsl_dataset_destroy_sync()
1915 spa_prop_clear_bootfs(dp->dp_spa, ds->ds_object, tx); in dsl_dataset_destroy_sync()
1916 spa_history_log_internal(LOG_DS_DESTROY, dp->dp_spa, tx, in dsl_dataset_destroy_sync()
1924 ds->ds_phys->ds_next_clones_obj, tx)); in dsl_dataset_destroy_sync()
1927 VERIFY(0 == zap_destroy(mos, ds->ds_phys->ds_props_obj, tx)); in dsl_dataset_destroy_sync()
1929 VERIFY(0 == zap_destroy(mos, ds->ds_phys->ds_userrefs_obj, tx)); in dsl_dataset_destroy_sync()
1933 VERIFY(0 == dmu_object_free(mos, obj, tx)); in dsl_dataset_destroy_sync()
1942 dsl_dataset_destroy_sync(&ndsda, tag, tx); in dsl_dataset_destroy_sync()
1947 dsl_dataset_snapshot_reserve_space(dsl_dataset_t *ds, dmu_tx_t *tx) in dsl_dataset_snapshot_reserve_space() argument
1951 if (!dmu_tx_is_syncing(tx)) in dsl_dataset_snapshot_reserve_space()
1969 dsl_dir_willuse_space(ds->ds_dir, asize, tx); in dsl_dataset_snapshot_reserve_space()
1975 dsl_dataset_snapshot_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_snapshot_check() argument
1986 if (ds->ds_phys->ds_prev_snap_txg >= tx->tx_txg) in dsl_dataset_snapshot_check()
2005 err = dsl_dataset_snapshot_reserve_space(ds, tx); in dsl_dataset_snapshot_check()
2009 ds->ds_trysnap_txg = tx->tx_txg; in dsl_dataset_snapshot_check()
2014 dsl_dataset_snapshot_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_snapshot_sync() argument
2033 crtxg = tx->tx_txg; in dsl_dataset_snapshot_sync()
2036 DMU_OT_DSL_DATASET, sizeof (dsl_dataset_phys_t), tx); in dsl_dataset_snapshot_sync()
2038 dmu_buf_will_dirty(dbuf, tx); in dsl_dataset_snapshot_sync()
2067 dmu_buf_will_dirty(ds->ds_prev->ds_dbuf, tx); in dsl_dataset_snapshot_sync()
2073 dsphys->ds_next_snap_obj, tx); in dsl_dataset_snapshot_sync()
2075 next_clones_obj, dsobj, tx)); in dsl_dataset_snapshot_sync()
2089 delta, 0, 0, tx); in dsl_dataset_snapshot_sync()
2092 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_snapshot_sync()
2097 UINT64_MAX, ds->ds_phys->ds_prev_snap_obj, tx); in dsl_dataset_snapshot_sync()
2101 ds->ds_phys->ds_prev_snap_txg, tx); in dsl_dataset_snapshot_sync()
2103 ASSERT3U(ds->ds_phys->ds_prev_snap_txg, <, tx->tx_txg); in dsl_dataset_snapshot_sync()
2111 snapname, 8, 1, &dsobj, tx); in dsl_dataset_snapshot_sync()
2119 dsl_scan_ds_snapshotted(ds, tx); in dsl_dataset_snapshot_sync()
2123 spa_history_log_internal(LOG_DS_SNAPSHOT, dp->dp_spa, tx, in dsl_dataset_snapshot_sync()
2128 dsl_dataset_sync(dsl_dataset_t *ds, zio_t *zio, dmu_tx_t *tx) in dsl_dataset_sync() argument
2130 ASSERT(dmu_tx_is_syncing(tx)); in dsl_dataset_sync()
2138 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_sync()
2141 dsl_dir_dirty(ds->ds_dir, tx); in dsl_dataset_sync()
2142 dmu_objset_sync(ds->ds_objset, zio, tx); in dsl_dataset_sync()
2277 dsl_dataset_snapshot_rename_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_snapshot_rename_check() argument
2308 dsl_dataset_snapshot_rename_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_snapshot_rename_sync() argument
2323 err = dsl_dataset_snap_remove(hds, ds->ds_snapname, tx); in dsl_dataset_snapshot_rename_sync()
2329 ds->ds_snapname, 8, 1, &ds->ds_object, tx); in dsl_dataset_snapshot_rename_sync()
2332 spa_history_log_internal(LOG_DS_RENAME, dd->dd_pool->dp_spa, tx, in dsl_dataset_snapshot_rename_sync()
2524 dsl_dataset_promote_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_promote_check() argument
2538 if (!dmu_tx_is_syncing(tx)) in dsl_dataset_promote_check()
2653 dsl_dataset_promote_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_promote_sync() argument
2679 dmu_buf_will_dirty(origin_ds->ds_dbuf, tx); in dsl_dataset_promote_sync()
2687 remove_from_next_clones(origin_ds, snap->ds->ds_object, tx); in dsl_dataset_promote_sync()
2690 oldnext_obj, tx)); in dsl_dataset_promote_sync()
2694 dmu_buf_will_dirty(dd->dd_dbuf, tx); in dsl_dataset_promote_sync()
2698 dmu_buf_will_dirty(odd->dd_dbuf, tx); in dsl_dataset_promote_sync()
2706 odd->dd_phys->dd_clones, hds->ds_object, tx)); in dsl_dataset_promote_sync()
2709 hds->ds_object, tx)); in dsl_dataset_promote_sync()
2713 origin_head->ds_object, tx)); in dsl_dataset_promote_sync()
2716 DMU_OT_DSL_CLONES, DMU_OT_NONE, 0, tx); in dsl_dataset_promote_sync()
2719 dd->dd_phys->dd_clones, origin_head->ds_object, tx)); in dsl_dataset_promote_sync()
2736 ds->ds_snapname, tx)); in dsl_dataset_promote_sync()
2739 8, 1, &ds->ds_object, tx)); in dsl_dataset_promote_sync()
2742 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_promote_sync()
2776 odd->dd_phys->dd_clones, o, tx), ==, 0); in dsl_dataset_promote_sync()
2778 dd->dd_phys->dd_clones, o, tx), ==, 0); in dsl_dataset_promote_sync()
2798 dsl_dir_diduse_space(dd, DD_USED_SNAP, delta, 0, 0, tx); in dsl_dataset_promote_sync()
2800 pa->used - delta, pa->comp, pa->uncomp, tx); in dsl_dataset_promote_sync()
2806 dsl_dir_diduse_space(odd, DD_USED_SNAP, delta, 0, 0, tx); in dsl_dataset_promote_sync()
2808 -pa->used - delta, -pa->comp, -pa->uncomp, tx); in dsl_dataset_promote_sync()
2813 spa_history_log_internal(LOG_DS_PROMOTE, dd->dd_pool->dp_spa, tx, in dsl_dataset_promote_sync()
3010 dsl_dataset_clone_swap_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_clone_swap_check() argument
3059 dsl_dataset_clone_swap_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_clone_swap_sync() argument
3068 dmu_buf_will_dirty(csa->cds->ds_dbuf, tx); in dsl_dataset_clone_swap_sync()
3069 dmu_buf_will_dirty(csa->ohds->ds_dbuf, tx); in dsl_dataset_clone_swap_sync()
3088 dmu_buf_will_dirty(origin->ds_dbuf, tx); in dsl_dataset_clone_swap_sync()
3125 dused, dcomp, duncomp, tx); in dsl_dataset_clone_swap_sync()
3127 -dused, -dcomp, -duncomp, tx); in dsl_dataset_clone_swap_sync()
3142 DD_USED_HEAD, DD_USED_SNAP, tx); in dsl_dataset_clone_swap_sync()
3157 csa->unused_refres_delta, 0, 0, tx); in dsl_dataset_clone_swap_sync()
3171 dsl_scan_ds_clone_swapped(csa->ohds, csa->cds, tx); in dsl_dataset_clone_swap_sync()
3289 dsl_dataset_set_quota_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_set_quota_check() argument
3314 dsl_dataset_set_quota_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_set_quota_sync() argument
3320 dsl_prop_set_sync(ds, psa, tx); in dsl_dataset_set_quota_sync()
3324 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_set_quota_sync()
3328 ds->ds_dir->dd_pool->dp_spa, tx, "%lld dataset = %llu ", in dsl_dataset_set_quota_sync()
3361 dsl_dataset_set_reservation_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_set_reservation_check() argument
3385 if (!dmu_tx_is_syncing(tx)) in dsl_dataset_set_reservation_check()
3409 dsl_dataset_set_reservation_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_set_reservation_sync() argument
3417 dsl_prop_set_sync(ds, psa, tx); in dsl_dataset_set_reservation_sync()
3420 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_set_reservation_sync()
3431 dsl_dir_diduse_space(ds->ds_dir, DD_USED_REFRSRV, delta, 0, 0, tx); in dsl_dataset_set_reservation_sync()
3435 ds->ds_dir->dd_pool->dp_spa, tx, "%lld dataset = %llu", in dsl_dataset_set_reservation_sync()
3498 dsl_dataset_user_hold_check(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_user_hold_check() argument
3516 8, 1, tx); in dsl_dataset_user_hold_check()
3532 dsl_dataset_user_hold_sync(void *arg1, void *arg2, dmu_tx_t *tx) in dsl_dataset_user_hold_sync() argument
3548 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_dataset_user_hold_sync()
3550 zap_create(mos, DMU_OT_USERREFS, DMU_OT_NONE, 0, tx); in dsl_dataset_user_hold_sync()
3557 VERIFY(0 == zap_add(mos, zapobj, htag, 8, 1, &now, tx)); in dsl_dataset_user_hold_sync()
3561 htag, &now, tx)); in dsl_dataset_user_hold_sync()
3565 dp->dp_spa, tx, "<%s> temp = %d dataset = %llu", htag, in dsl_dataset_user_hold_sync()
3732 dsl_dataset_user_release_check(void *arg1, void *tag, dmu_tx_t *tx) in dsl_dataset_user_release_check() argument
3749 if (dmu_tx_is_syncing(tx)) { in dsl_dataset_user_release_check()
3759 return (dsl_dataset_destroy_check(&dsda, tag, tx)); in dsl_dataset_user_release_check()
3766 dsl_dataset_user_release_sync(void *arg1, void *tag, dmu_tx_t *tx) in dsl_dataset_user_release_sync() argument
3781 error = dsl_pool_user_release(dp, ds->ds_object, ra->htag, tx); in dsl_dataset_user_release_sync()
3784 VERIFY(0 == zap_remove(mos, zapobj, ra->htag, tx)); in dsl_dataset_user_release_sync()
3793 dsl_dataset_destroy_sync(&dsda, tag, tx); in dsl_dataset_user_release_sync()
3797 dp->dp_spa, tx, "<%s> %lld dataset = %llu", in dsl_dataset_user_release_sync()