Lines Matching full:tx

104     uint64_t obj, dmu_tx_t *tx);
106 dmu_tx_t *tx);
137 dsl_dataset_block_born(dsl_dataset_t *ds, const blkptr_t *bp, dmu_tx_t *tx)
139 spa_t *spa = dmu_tx_pool(tx)->dp_spa;
148 ASSERT(dmu_tx_is_syncing(tx));
155 dsl_pool_mos_diduse_space(tx->tx_pool,
162 dmu_buf_will_dirty(ds->ds_dbuf, tx);
206 DD_USED_REFRSRV, DD_USED_HEAD, tx);
218 uint64_t size, uint64_t birth, dmu_tx_t *tx)
222 ASSERT(dmu_tx_is_syncing(tx));
223 ASSERT(birth <= tx->tx_txg);
227 spa_vdev_indirect_mark_obsolete(spa, vdev, offset, size, tx);
236 dsl_dataset_create_remap_deadlist(ds, tx);
246 tx);
251 dsl_dataset_block_kill(dsl_dataset_t *ds, const blkptr_t *bp, dmu_tx_t *tx,
254 spa_t *spa = dmu_tx_pool(tx)->dp_spa;
263 ASSERT(dmu_tx_is_syncing(tx));
264 ASSERT(BP_GET_LOGICAL_BIRTH(bp) <= tx->tx_txg);
267 dsl_free(tx->tx_pool, tx->tx_txg, bp);
268 dsl_pool_mos_diduse_space(tx->tx_pool,
272 ASSERT3P(tx->tx_pool, ==, ds->ds_dir->dd_pool);
275 dmu_buf_will_dirty(ds->ds_dbuf, tx);
307 bp, B_FALSE, tx);
311 dsl_free(tx->tx_pool, tx->tx_txg, bp);
323 DD_USED_REFRSRV, DD_USED_HEAD, tx);
326 dsl_dir_diduse_space(tx->tx_pool->dp_free_dir,
327 DD_USED_HEAD, used, compressed, uncompressed, tx);
340 dsl_deadlist_insert(&ds->ds_deadlist, bp, B_FALSE, tx);
349 dmu_buf_will_dirty(ds->ds_prev->ds_dbuf, tx);
356 DD_USED_HEAD, DD_USED_SNAP, tx);
360 dsl_bookmark_block_killed(ds, bp, tx);
552 dsl_dataset_snap_remove(dsl_dataset_t *ds, const char *name, dmu_tx_t *tx,
560 dsl_dir_snap_cmtime_update(ds->ds_dir, tx);
565 err = zap_remove_norm(mos, snapobj, name, mt, tx);
567 err = zap_remove(mos, snapobj, name, tx);
571 DD_FIELD_SNAPSHOT_COUNT, tx);
1121 dmu_tx_t *tx)
1123 spa_t *spa = dmu_tx_pool(tx)->dp_spa;
1124 objset_t *mos = dmu_tx_pool(tx)->dp_meta_objset;
1129 spa_feature_incr(spa, f, tx);
1130 dmu_object_zapify(mos, dsobj, DMU_OT_DSL_DATASET, tx);
1136 sizeof (zero), 1, &zero, tx));
1142 sizeof (uint64_t), ftuaa->length, ftuaa->array, tx));
1152 dmu_tx_t *tx)
1154 spa_t *spa = dmu_tx_pool(tx)->dp_spa;
1155 objset_t *mos = dmu_tx_pool(tx)->dp_meta_objset;
1160 VERIFY0(zap_remove(mos, dsobj, spa_feature_table[f].fi_guid, tx));
1161 spa_feature_decr(spa, f, tx);
1166 dsl_dataset_deactivate_feature(dsl_dataset_t *ds, spa_feature_t f, dmu_tx_t *tx)
1169 dsl_dataset_deactivate_feature_impl(ds, f, tx);
1174 dsl_crypto_params_t *dcp, uint64_t flags, dmu_tx_t *tx)
1187 ASSERT(dmu_tx_is_syncing(tx));
1191 DMU_OT_DSL_DATASET, sizeof (dsl_dataset_phys_t), tx);
1193 dmu_buf_will_dirty(dbuf, tx);
1203 DMU_OT_NONE, 0, tx);
1205 dsphys->ds_creation_txg = tx->tx_txg == TXG_INITIAL ? 1 : tx->tx_txg;
1208 dsphys->ds_deadlist_obj = dsl_deadlist_alloc(mos, tx);
1235 origin->ds_feature[f], tx);
1239 dmu_buf_will_dirty(origin->ds_dbuf, tx);
1246 dsphys->ds_prev_snap_txg, dsphys->ds_prev_snap_obj, tx);
1253 DMU_OT_NEXT_CLONES, DMU_OT_NONE, 0, tx);
1257 dsobj, tx));
1260 dmu_buf_will_dirty(dd->dd_dbuf, tx);
1264 dmu_buf_will_dirty(origin->ds_dir->dd_dbuf, tx);
1267 DMU_OT_DSL_CLONES, DMU_OT_NONE, 0, tx);
1271 dsobj, tx));
1276 dsl_dataset_create_crypt_sync(dsobj, dd, origin, dcp, tx);
1283 dmu_buf_will_dirty(dd->dd_dbuf, tx);
1290 dsl_dataset_zero_zil(dsl_dataset_t *ds, dmu_tx_t *tx)
1301 os->os_next_write_raw[tx->tx_txg & TXG_MASK] = B_TRUE;
1304 dsl_dataset_sync(ds, zio, tx);
1306 dsl_dataset_sync_done(ds, tx);
1313 dsl_crypto_params_t *dcp, dmu_tx_t *tx)
1319 ASSERT(dmu_tx_is_syncing(tx));
1330 ddobj = dsl_dir_create_sync(dp, pdd, lastname, tx);
1334 flags & ~DS_CREATE_FLAG_NODIRTY, tx);
1336 dsl_deleg_set_create_perms(dd, tx, cr);
1345 dsl_dir_zapify(dd, tx);
1346 uint64_t obj = dsl_deadlist_alloc(mos, tx);
1348 sizeof (uint64_t), 1, &obj, tx));
1349 spa_feature_incr(dp->dp_spa, SPA_FEATURE_LIVELIST, tx);
1360 dsl_dir_zapify(dd, tx);
1362 sizeof (cnt), 1, &cnt, tx));
1364 sizeof (cnt), 1, &cnt, tx));
1377 dsl_dataset_zero_zil(ds, tx);
1418 dmu_tx_t *tx)
1426 obj, tx);
1458 dsl_dataset_dirty(dsl_dataset_t *ds, dmu_tx_t *tx)
1471 ASSERT3U(tx->tx_txg, >, dsl_dataset_phys(ds)->ds_prev_snap_txg);
1474 if (txg_list_add(&dp->dp_dirty_datasets, ds, tx->tx_txg)) {
1483 !os->os_next_write_raw[tx->tx_txg & TXG_MASK]) {
1491 dsl_dataset_snapshot_reserve_space(dsl_dataset_t *ds, dmu_tx_t *tx)
1495 if (!dmu_tx_is_syncing(tx))
1513 dsl_dir_willuse_space(ds->ds_dir, asize, tx);
1520 dmu_tx_t *tx, boolean_t recv, uint64_t cnt, cred_t *cr, proc_t *proc)
1525 ds->ds_trysnap_txg = tx->tx_txg;
1527 if (!dmu_tx_is_syncing(tx))
1534 if (dsl_dataset_phys(ds)->ds_prev_snap_txg >= tx->tx_txg)
1570 error = dsl_dataset_snapshot_reserve_space(ds, tx);
1578 dsl_dataset_snapshot_check(void *arg, dmu_tx_t *tx)
1581 dsl_pool_t *dp = dmu_tx_pool(tx);
1611 if (dmu_tx_is_syncing(tx)) {
1704 atp + 1, tx, B_FALSE, 0, NULL, NULL);
1722 dmu_tx_t *tx)
1737 ASSERT(spa_version(dmu_tx_pool(tx)->dp_spa) >= SPA_VERSION_FAST_SNAP ||
1744 ds, tx->tx_txg));
1746 dsl_fs_ss_count_adjust(ds->ds_dir, 1, DD_FIELD_SNAPSHOT_COUNT, tx);
1754 crtxg = tx->tx_txg;
1757 DMU_OT_DSL_DATASET, sizeof (dsl_dataset_phys_t), tx);
1759 dmu_buf_will_dirty(dbuf, tx);
1786 ds->ds_feature[f], tx);
1800 dmu_buf_will_dirty(ds->ds_prev->ds_dbuf, tx);
1806 dsphys->ds_next_snap_obj, tx);
1808 next_clones_obj, dsobj, tx));
1823 delta, 0, 0, tx);
1826 dmu_buf_will_dirty(ds->ds_dbuf, tx);
1829 dsl_dataset_phys(ds)->ds_prev_snap_obj, tx);
1834 dsl_dataset_phys(ds)->ds_prev_snap_txg, tx);
1835 dsl_bookmark_snapshotted(ds, tx);
1845 dsl_dataset_unset_remap_deadlist_object(ds, tx);
1848 dmu_object_zapify(mos, dsobj, DMU_OT_DSL_DATASET, tx);
1850 sizeof (remap_deadlist_obj), 1, &remap_deadlist_obj, tx));
1872 dmu_object_zapify(mos, dsobj, DMU_OT_DSL_DATASET, tx);
1874 sizeof (ivset_guid), 1, &ivset_guid, tx));
1877 ASSERT3U(dsl_dataset_phys(ds)->ds_prev_snap_txg, <, tx->tx_txg);
1886 snapname, 8, 1, &dsobj, tx));
1893 dsl_scan_ds_snapshotted(ds, tx);
1895 dsl_dir_snap_cmtime_update(ds->ds_dir, tx);
1898 spa_history_log_internal_ds(ds->ds_prev, "snapshot", tx, " ");
1902 dsl_dataset_snapshot_sync(void *arg, dmu_tx_t *tx)
1905 dsl_pool_t *dp = dmu_tx_pool(tx);
1919 dsl_dataset_snapshot_sync_impl(ds, atp + 1, tx);
1922 ZPROP_SRC_LOCAL, ddsa->ddsa_props, tx);
2017 dsl_dataset_snapshot_tmp_check(void *arg, dmu_tx_t *tx)
2020 dsl_pool_t *dp = dmu_tx_pool(tx);
2030 tx, B_FALSE, 0, NULL, NULL);
2041 B_TRUE, tx);
2052 dsl_dataset_snapshot_tmp_sync(void *arg, dmu_tx_t *tx)
2055 dsl_pool_t *dp = dmu_tx_pool(tx);
2060 dsl_dataset_snapshot_sync_impl(ds, ddsta->ddsta_snapname, tx);
2062 ddsta->ddsta_cleanup_minor, gethrestime_sec(), tx);
2063 dsl_destroy_snapshot_sync_impl(ds->ds_prev, B_TRUE, tx);
2105 dsl_dataset_sync(dsl_dataset_t *ds, zio_t *rio, dmu_tx_t *tx)
2107 ASSERT(dmu_tx_is_syncing(tx));
2115 dmu_buf_will_dirty(ds->ds_dbuf, tx);
2118 if (ds->ds_resume_bytes[tx->tx_txg & TXG_MASK] != 0) {
2119 VERIFY0(zap_update(tx->tx_pool->dp_meta_objset,
2121 &ds->ds_resume_object[tx->tx_txg & TXG_MASK], tx));
2122 VERIFY0(zap_update(tx->tx_pool->dp_meta_objset,
2124 &ds->ds_resume_offset[tx->tx_txg & TXG_MASK], tx));
2125 VERIFY0(zap_update(tx->tx_pool->dp_meta_objset,
2127 &ds->ds_resume_bytes[tx->tx_txg & TXG_MASK], tx));
2128 ds->ds_resume_object[tx->tx_txg & TXG_MASK] = 0;
2129 ds->ds_resume_offset[tx->tx_txg & TXG_MASK] = 0;
2130 ds->ds_resume_bytes[tx->tx_txg & TXG_MASK] = 0;
2133 dmu_objset_sync(ds->ds_objset, rio, tx);
2235 dsl_flush_pending_livelist(dsl_dataset_t *ds, dmu_tx_t *tx)
2245 tx->tx_txg - 1, tx);
2260 tx->tx_txg - 1, tx);
2266 dsl_deadlist_insert_alloc_cb, &dd->dd_livelist, tx);
2268 dsl_deadlist_insert_free_cb, &dd->dd_livelist, tx);
2280 dsl_dataset_sync_done(dsl_dataset_t *ds, dmu_tx_t *tx)
2285 dsl_deadlist_insert_alloc_cb, &ds->ds_deadlist, tx);
2288 dsl_flush_pending_livelist(ds, tx);
2290 dsl_dir_remove_livelist(ds->ds_dir, tx, B_TRUE);
2294 dsl_bookmark_sync_done(ds, tx);
2299 os->os_next_write_raw[tx->tx_txg & TXG_MASK] = B_FALSE;
2301 ASSERT0(os->os_next_write_raw[tx->tx_txg & TXG_MASK]);
2309 ds->ds_feature_activation[f], tx);
2314 ASSERT(!dmu_objset_is_dirty(os, dmu_tx_get_txg(tx)));
2989 dsl_dataset_rename_snapshot_check(void *arg, dmu_tx_t *tx)
2992 dsl_pool_t *dp = dmu_tx_pool(tx);
3018 dmu_tx_t *tx = ddrsa->ddrsa_tx;
3032 spa_history_log_internal_ds(ds, "rename", tx,
3035 VERIFY0(dsl_dataset_snap_remove(hds, ddrsa->ddrsa_oldsnapname, tx,
3043 ds->ds_snapname, 8, 1, &ds->ds_object, tx));
3058 dsl_dataset_rename_snapshot_sync(void *arg, dmu_tx_t *tx)
3061 dsl_pool_t *dp = dmu_tx_pool(tx);
3065 ddrsa->ddrsa_tx = tx;
3100 dsl_dataset_handoff_check(dsl_dataset_t *ds, void *owner, dmu_tx_t *tx)
3104 if (!dmu_tx_is_syncing(tx))
3130 dsl_dataset_rollback_check(void *arg, dmu_tx_t *tx)
3133 dsl_pool_t *dp = dmu_tx_pool(tx);
3160 if (dmu_tx_is_syncing(tx) &&
3161 dsl_dataset_phys(ds)->ds_prev_snap_txg >= tx->tx_txg) {
3220 error = dsl_dataset_handoff_check(ds, ddra->ddra_owner, tx);
3258 dsl_dataset_rollback_sync(void *arg, dmu_tx_t *tx)
3261 dsl_pool_t *dp = dmu_tx_pool(tx);
3272 ds->ds_prev, DS_CREATE_FLAG_NODIRTY, kcred, NULL, tx);
3276 dsl_dataset_clone_swap_sync_impl(clone, ds, tx);
3277 dsl_dataset_zero_zil(ds, tx);
3279 dsl_destroy_head_sync_impl(clone, tx);
3325 dsl_dataset_promote_check(void *arg, dmu_tx_t *tx)
3328 dsl_pool_t *dp = dmu_tx_pool(tx);
3370 if (!dmu_tx_is_syncing(tx)) {
3549 dsl_dataset_promote_sync(void *arg, dmu_tx_t *tx)
3552 dsl_pool_t *dp = dmu_tx_pool(tx);
3583 dsl_dataset_promote_crypt_sync(hds->ds_dir, odd, tx);
3586 dmu_buf_will_dirty(origin_ds->ds_dbuf, tx);
3596 snap->ds->ds_object, tx);
3599 oldnext_obj, tx));
3603 dmu_buf_will_dirty(dd->dd_dbuf, tx);
3607 dmu_buf_will_dirty(odd->dd_dbuf, tx);
3615 dsl_dir_phys(odd)->dd_clones, hds->ds_object, tx));
3618 hds->ds_object, tx));
3622 origin_head->ds_object, tx));
3626 DMU_OT_NONE, 0, tx);
3629 dsl_dir_phys(dd)->dd_clones, origin_head->ds_object, tx));
3644 origin_head->ds_bookmarks_obj, dbn->dbn_name, tx));
3646 dsl_bookmark_node_add(hds, dbn, tx);
3649 dsl_bookmark_next_changed(hds, origin_ds, tx);
3669 ds->ds_snapname, tx, B_TRUE));
3672 8, 1, &ds->ds_object, tx));
3674 DD_FIELD_SNAPSHOT_COUNT, tx);
3677 dmu_buf_will_dirty(ds->ds_dbuf, tx);
3712 dsl_dir_phys(odd)->dd_clones, o, tx));
3714 dsl_dir_phys(dd)->dd_clones, o, tx));
3735 dsl_dir_diduse_space(dd, DD_USED_SNAP, delta, 0, 0, tx);
3737 ddpa->used - delta, ddpa->comp, ddpa->uncomp, tx);
3743 dsl_dir_diduse_space(odd, DD_USED_SNAP, delta, 0, 0, tx);
3745 -ddpa->used - delta, -ddpa->comp, -ddpa->uncomp, tx);
3755 dsl_dir_remove_livelist(dd, tx, B_TRUE);
3756 dsl_dir_remove_livelist(odd, tx, B_TRUE);
3759 spa_history_log_internal_ds(hds, "promote", tx, " ");
3771 spa_swap_errlog(dp->dp_spa, new_head, old_head, tx);
3957 dsl_dataset_t *origin_head, boolean_t force, void *owner, dmu_tx_t *tx)
3992 if (dsl_dataset_handoff_check(origin_head, owner, tx))
4030 dsl_dataset_t *origin, dmu_tx_t *tx)
4033 dsl_pool_t *dp = dmu_tx_pool(tx);
4042 dsl_dataset_unset_remap_deadlist_object(clone, tx);
4046 dsl_dataset_unset_remap_deadlist_object(origin, tx);
4051 clone_remap_dl_obj, tx);
4057 origin_remap_dl_obj, tx);
4065 dsl_dataset_t *origin_head, dmu_tx_t *tx)
4067 dsl_pool_t *dp = dmu_tx_pool(tx);
4100 dsl_dataset_deactivate_feature_impl(clone, f, tx);
4102 dsl_dataset_deactivate_feature_impl(origin_head, f, tx);
4106 clone_feature, tx);
4111 origin_head_feature, tx);
4116 dmu_buf_will_dirty(clone->ds_dbuf, tx);
4117 dmu_buf_will_dirty(origin_head->ds_dbuf, tx);
4142 dmu_buf_will_dirty(origin->ds_dbuf, tx);
4189 dused, dcomp, duncomp, tx);
4191 -dused, -dcomp, -duncomp, tx);
4206 DD_USED_HEAD, DD_USED_SNAP, tx);
4221 unused_refres_delta, 0, 0, tx);
4234 dsl_dataset_swap_remap_deadlists(clone, origin_head, tx);
4240 dsl_bookmark_next_changed(origin_head, origin_head->ds_prev, tx);
4242 dsl_scan_ds_clone_swapped(origin_head, clone, tx);
4249 dsl_dir_remove_livelist(clone->ds_dir, tx, B_TRUE);
4250 dsl_dir_remove_livelist(origin_head->ds_dir, tx, B_TRUE);
4252 spa_history_log_internal_ds(clone, "clone swap", tx,
4339 dsl_dataset_set_refquota_check(void *arg, dmu_tx_t *tx)
4342 dsl_pool_t *dp = dmu_tx_pool(tx);
4383 dsl_dataset_set_refquota_sync(void *arg, dmu_tx_t *tx)
4386 dsl_pool_t *dp = dmu_tx_pool(tx);
4395 &ddsqra->ddsqra_value, tx);
4401 dmu_buf_will_dirty(ds->ds_dbuf, tx);
4423 dsl_dataset_set_refreservation_check(void *arg, dmu_tx_t *tx)
4426 dsl_pool_t *dp = dmu_tx_pool(tx);
4455 if (!dmu_tx_is_syncing(tx)) {
4484 zprop_source_t source, uint64_t value, dmu_tx_t *tx)
4491 source, sizeof (value), 1, &value, tx);
4496 dmu_buf_will_dirty(ds->ds_dbuf, tx);
4506 dsl_dir_diduse_space(ds->ds_dir, DD_USED_REFRSRV, delta, 0, 0, tx);
4511 dsl_dataset_set_refreservation_sync(void *arg, dmu_tx_t *tx)
4514 dsl_pool_t *dp = dmu_tx_pool(tx);
4519 ddsqra->ddsqra_source, ddsqra->ddsqra_value, tx);
4545 dsl_dataset_set_compression_check(void *arg, dmu_tx_t *tx)
4548 dsl_pool_t *dp = dmu_tx_pool(tx);
4563 dsl_dataset_set_compression_sync(void *arg, dmu_tx_t *tx)
4566 dsl_pool_t *dp = dmu_tx_pool(tx);
4578 ds->ds_feature_activation[f], tx);
4862 dsl_dataset_zapify(dsl_dataset_t *ds, dmu_tx_t *tx)
4865 dmu_object_zapify(mos, ds->ds_object, DMU_OT_DSL_DATASET, tx);
4917 dmu_tx_t *tx)
4920 dsl_dataset_zapify(ds, tx);
4922 DS_FIELD_REMAP_DEADLIST, sizeof (obj), 1, &obj, tx));
4926 dsl_dataset_unset_remap_deadlist_object(dsl_dataset_t *ds, dmu_tx_t *tx)
4929 ds->ds_object, DS_FIELD_REMAP_DEADLIST, tx));
4933 dsl_dataset_destroy_remap_deadlist(dsl_dataset_t *ds, dmu_tx_t *tx)
4938 ASSERT(dmu_tx_is_syncing(tx));
4943 dsl_deadlist_free(spa_meta_objset(spa), remap_deadlist_object, tx);
4944 dsl_dataset_unset_remap_deadlist_object(ds, tx);
4945 spa_feature_decr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
4949 dsl_dataset_create_remap_deadlist(dsl_dataset_t *ds, dmu_tx_t *tx)
4954 ASSERT(dmu_tx_is_syncing(tx));
4964 dsl_dataset_phys(ds)->ds_prev_snap_obj, tx);
4966 remap_deadlist_obj, tx);
4969 spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx);
4974 uint64_t num_redact_snaps, dmu_tx_t *tx)
4987 ftuaa, tx);