Lines Matching refs:ds

56 dsl_destroy_snapshot_check_impl(dsl_dataset_t *ds, boolean_t defer)  in dsl_destroy_snapshot_check_impl()  argument
58 if (!ds->ds_is_snapshot) in dsl_destroy_snapshot_check_impl()
61 if (dsl_dataset_long_held(ds)) in dsl_destroy_snapshot_check_impl()
69 if (spa_version(ds->ds_dir->dd_pool->dp_spa) < in dsl_destroy_snapshot_check_impl()
79 if (ds->ds_userrefs > 0) in dsl_destroy_snapshot_check_impl()
85 if (dsl_dataset_phys(ds)->ds_num_children > 1) in dsl_destroy_snapshot_check_impl()
100 dsl_dataset_t *ds; in dsl_destroy_snapshot_check() local
102 error = dsl_dataset_hold(dp, dsname, FTAG, &ds); in dsl_destroy_snapshot_check()
113 error = dsl_destroy_snapshot_check_impl(ds, defer); in dsl_destroy_snapshot_check()
114 dsl_dataset_rele(ds, FTAG); in dsl_destroy_snapshot_check()
121 dsl_dataset_t *ds; member
132 dsl_pool_t *dp = poa->ds->ds_dir->dd_pool; in process_old_cb()
137 dsl_dataset_phys(poa->ds)->ds_prev_snap_txg) { in process_old_cb()
138 dsl_deadlist_insert(&poa->ds->ds_deadlist, bp, bp_freed, tx); in process_old_cb()
155 process_old_deadlist(dsl_dataset_t *ds, dsl_dataset_t *ds_prev, in process_old_deadlist() argument
159 dsl_pool_t *dp = ds->ds_dir->dd_pool; in process_old_deadlist()
163 ASSERT(ds->ds_deadlist.dl_oldfmt); in process_old_deadlist()
166 poa.ds = ds; in process_old_deadlist()
173 ASSERT3U(poa.used, ==, dsl_dataset_phys(ds)->ds_unique_bytes); in process_old_deadlist()
176 dsl_dir_diduse_space(ds->ds_dir, DD_USED_SNAP, in process_old_deadlist()
180 dsl_deadlist_close(&ds->ds_deadlist); in process_old_deadlist()
182 deadlist_obj = dsl_dataset_phys(ds)->ds_deadlist_obj; in process_old_deadlist()
183 dsl_dataset_phys(ds)->ds_deadlist_obj = in process_old_deadlist()
186 VERIFY0(dsl_deadlist_open(&ds->ds_deadlist, mos, in process_old_deadlist()
187 dsl_dataset_phys(ds)->ds_deadlist_obj)); in process_old_deadlist()
275 dsl_destroy_snapshot_handle_remaps(dsl_dataset_t *ds, dsl_dataset_t *ds_next, in dsl_destroy_snapshot_handle_remaps() argument
278 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_destroy_snapshot_handle_remaps()
287 dsl_dataset_phys(ds)->ds_prev_snap_txg, tx); in dsl_destroy_snapshot_handle_remaps()
291 if (dsl_dataset_remap_deadlist_exists(ds)) { in dsl_destroy_snapshot_handle_remaps()
293 dsl_dataset_get_remap_deadlist_object(ds); in dsl_destroy_snapshot_handle_remaps()
303 dsl_dataset_destroy_remap_deadlist(ds, tx); in dsl_destroy_snapshot_handle_remaps()
308 dsl_destroy_snapshot_sync_impl(dsl_dataset_t *ds, boolean_t defer, dmu_tx_t *tx) in dsl_destroy_snapshot_sync_impl() argument
311 dsl_pool_t *dp = ds->ds_dir->dd_pool; in dsl_destroy_snapshot_sync_impl()
317 rrw_enter(&ds->ds_bp_rwlock, RW_READER, FTAG); in dsl_destroy_snapshot_sync_impl()
318 ASSERT3U(BP_GET_LOGICAL_BIRTH(&dsl_dataset_phys(ds)->ds_bp), <=, in dsl_destroy_snapshot_sync_impl()
320 rrw_exit(&ds->ds_bp_rwlock, FTAG); in dsl_destroy_snapshot_sync_impl()
321 ASSERT(zfs_refcount_is_zero(&ds->ds_longholds)); in dsl_destroy_snapshot_sync_impl()
324 (ds->ds_userrefs > 0 || in dsl_destroy_snapshot_sync_impl()
325 dsl_dataset_phys(ds)->ds_num_children > 1)) { in dsl_destroy_snapshot_sync_impl()
327 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_destroy_snapshot_sync_impl()
328 dsl_dataset_phys(ds)->ds_flags |= DS_FLAG_DEFER_DESTROY; in dsl_destroy_snapshot_sync_impl()
330 spa_history_log_internal_ds(ds, "defer_destroy", tx, in dsl_destroy_snapshot_sync_impl()
336 ASSERT3U(dsl_dataset_phys(ds)->ds_num_children, <=, 1); in dsl_destroy_snapshot_sync_impl()
340 spa_history_log_internal_ds(ds, "destroy", tx, " "); in dsl_destroy_snapshot_sync_impl()
343 dsl_scan_ds_destroyed(ds, tx); in dsl_destroy_snapshot_sync_impl()
345 obj = ds->ds_object; in dsl_destroy_snapshot_sync_impl()
347 boolean_t book_exists = dsl_bookmark_ds_destroyed(ds, tx); in dsl_destroy_snapshot_sync_impl()
350 if (dsl_dataset_feature_is_active(ds, f)) in dsl_destroy_snapshot_sync_impl()
351 dsl_dataset_deactivate_feature(ds, f, tx); in dsl_destroy_snapshot_sync_impl()
353 if (dsl_dataset_phys(ds)->ds_prev_snap_obj != 0) { in dsl_destroy_snapshot_sync_impl()
354 ASSERT3P(ds->ds_prev, ==, NULL); in dsl_destroy_snapshot_sync_impl()
356 dsl_dataset_phys(ds)->ds_prev_snap_obj, FTAG, &ds_prev)); in dsl_destroy_snapshot_sync_impl()
364 if (dsl_dataset_phys(ds)->ds_next_snap_obj != 0) { in dsl_destroy_snapshot_sync_impl()
368 dsl_dataset_phys(ds)->ds_next_snap_obj, in dsl_destroy_snapshot_sync_impl()
374 dsl_dataset_phys(ds)->ds_next_snap_obj; in dsl_destroy_snapshot_sync_impl()
383 dsl_dataset_phys(ds)->ds_next_snap_obj, FTAG, &ds_next)); in dsl_destroy_snapshot_sync_impl()
390 dsl_dataset_phys(ds)->ds_prev_snap_obj; in dsl_destroy_snapshot_sync_impl()
392 dsl_dataset_phys(ds)->ds_prev_snap_txg; in dsl_destroy_snapshot_sync_impl()
393 ASSERT3U(dsl_dataset_phys(ds)->ds_prev_snap_txg, ==, in dsl_destroy_snapshot_sync_impl()
397 process_old_deadlist(ds, ds_prev, ds_next, in dsl_destroy_snapshot_sync_impl()
404 dsl_dataset_phys(ds)->ds_prev_snap_txg, in dsl_destroy_snapshot_sync_impl()
411 dsl_dataset_phys(ds)->ds_prev_snap_txg, UINT64_MAX, in dsl_destroy_snapshot_sync_impl()
413 dsl_dir_diduse_space(ds->ds_dir, DD_USED_SNAP, in dsl_destroy_snapshot_sync_impl()
418 &dp->dp_free_bpobj, dsl_dataset_phys(ds)->ds_prev_snap_txg, in dsl_destroy_snapshot_sync_impl()
425 dsl_dataset_phys(ds)->ds_deadlist_obj, tx); in dsl_destroy_snapshot_sync_impl()
435 dsl_deadlist_close(&ds->ds_deadlist); in dsl_destroy_snapshot_sync_impl()
436 dsl_deadlist_free(mos, dsl_dataset_phys(ds)->ds_deadlist_obj, tx); in dsl_destroy_snapshot_sync_impl()
437 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_destroy_snapshot_sync_impl()
438 dsl_dataset_phys(ds)->ds_deadlist_obj = 0; in dsl_destroy_snapshot_sync_impl()
440 dsl_destroy_snapshot_handle_remaps(ds, ds_next, tx); in dsl_destroy_snapshot_sync_impl()
444 dsl_dir_remove_clones_key(ds->ds_dir, in dsl_destroy_snapshot_sync_impl()
445 dsl_dataset_phys(ds)->ds_creation_txg, tx); in dsl_destroy_snapshot_sync_impl()
464 dsl_dataset_phys(ds)->ds_prev_snap_txg, in dsl_destroy_snapshot_sync_impl()
465 dsl_dataset_phys(ds)->ds_creation_txg, in dsl_destroy_snapshot_sync_impl()
474 dsl_dir_phys(ds->ds_dir)->dd_head_dataset_obj, in dsl_destroy_snapshot_sync_impl()
479 dsl_dataset_phys(ds)->ds_creation_txg, tx); in dsl_destroy_snapshot_sync_impl()
483 dsl_dataset_phys(ds)->ds_creation_txg, tx); in dsl_destroy_snapshot_sync_impl()
488 ASSERT3P(ds_next->ds_prev, ==, ds); in dsl_destroy_snapshot_sync_impl()
493 dsl_dataset_phys(ds)->ds_prev_snap_obj, in dsl_destroy_snapshot_sync_impl()
512 dsl_dir_diduse_space(ds->ds_dir, in dsl_destroy_snapshot_sync_impl()
522 if (ds->ds_objset) { in dsl_destroy_snapshot_sync_impl()
523 dmu_objset_evict(ds->ds_objset); in dsl_destroy_snapshot_sync_impl()
524 ds->ds_objset = NULL; in dsl_destroy_snapshot_sync_impl()
529 ASSERT(dsl_dataset_phys(ds)->ds_snapnames_zapobj == 0); in dsl_destroy_snapshot_sync_impl()
531 dsl_dir_phys(ds->ds_dir)->dd_head_dataset_obj, FTAG, &ds_head)); in dsl_destroy_snapshot_sync_impl()
532 VERIFY0(dsl_dataset_get_snapname(ds)); in dsl_destroy_snapshot_sync_impl()
539 ds->ds_snapname, &val); in dsl_destroy_snapshot_sync_impl()
544 VERIFY0(dsl_dataset_snap_remove(ds_head, ds->ds_snapname, tx, B_TRUE)); in dsl_destroy_snapshot_sync_impl()
550 spa_prop_clear_bootfs(dp->dp_spa, ds->ds_object, tx); in dsl_destroy_snapshot_sync_impl()
552 if (dsl_dataset_phys(ds)->ds_next_clones_obj != 0) { in dsl_destroy_snapshot_sync_impl()
555 dsl_dataset_phys(ds)->ds_next_clones_obj, &count) && in dsl_destroy_snapshot_sync_impl()
558 dsl_dataset_phys(ds)->ds_next_clones_obj, tx)); in dsl_destroy_snapshot_sync_impl()
560 if (dsl_dataset_phys(ds)->ds_props_obj != 0) in dsl_destroy_snapshot_sync_impl()
561 VERIFY0(zap_destroy(mos, dsl_dataset_phys(ds)->ds_props_obj, in dsl_destroy_snapshot_sync_impl()
563 if (dsl_dataset_phys(ds)->ds_userrefs_obj != 0) in dsl_destroy_snapshot_sync_impl()
564 VERIFY0(zap_destroy(mos, dsl_dataset_phys(ds)->ds_userrefs_obj, in dsl_destroy_snapshot_sync_impl()
566 dsl_dir_rele(ds->ds_dir, ds); in dsl_destroy_snapshot_sync_impl()
567 ds->ds_dir = NULL; in dsl_destroy_snapshot_sync_impl()
579 dsl_dataset_t *ds; in dsl_destroy_snapshot_sync() local
581 int error = dsl_dataset_hold(dp, dsname, FTAG, &ds); in dsl_destroy_snapshot_sync()
585 dsl_destroy_snapshot_sync_impl(ds, defer, tx); in dsl_destroy_snapshot_sync()
587 dsl_dataset_rele(ds, FTAG); in dsl_destroy_snapshot_sync()
708 dsl_dataset_t *ds; member
734 dsl_dataset_phys(ka->ds)->ds_prev_snap_txg); in kill_blkptr()
735 (void) dsl_dataset_block_kill(ka->ds, bp, tx, B_FALSE); in kill_blkptr()
742 old_synchronous_dataset_destroy(dsl_dataset_t *ds, dmu_tx_t *tx) in old_synchronous_dataset_destroy() argument
746 spa_history_log_internal_ds(ds, "destroy", tx, in old_synchronous_dataset_destroy()
748 (long long)dsl_dataset_phys(ds)->ds_prev_snap_txg); in old_synchronous_dataset_destroy()
757 ka.ds = ds; in old_synchronous_dataset_destroy()
759 VERIFY0(traverse_dataset(ds, in old_synchronous_dataset_destroy()
760 dsl_dataset_phys(ds)->ds_prev_snap_txg, TRAVERSE_POST | in old_synchronous_dataset_destroy()
762 ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) || in old_synchronous_dataset_destroy()
763 dsl_dataset_phys(ds)->ds_unique_bytes == 0); in old_synchronous_dataset_destroy()
767 dsl_destroy_head_check_impl(dsl_dataset_t *ds, int expected_holds) in dsl_destroy_head_check_impl() argument
773 ASSERT(!ds->ds_is_snapshot); in dsl_destroy_head_check_impl()
774 if (ds->ds_is_snapshot) in dsl_destroy_head_check_impl()
777 if (zfs_refcount_count(&ds->ds_longholds) != expected_holds) in dsl_destroy_head_check_impl()
780 ASSERT0(ds->ds_dir->dd_activity_waiters); in dsl_destroy_head_check_impl()
782 mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_destroy_head_check_impl()
789 if (ds->ds_prev != NULL && in dsl_destroy_head_check_impl()
790 dsl_dataset_phys(ds->ds_prev)->ds_next_snap_obj == ds->ds_object) in dsl_destroy_head_check_impl()
797 dsl_dir_phys(ds->ds_dir)->dd_child_dir_zapobj, &count); in dsl_destroy_head_check_impl()
803 if (dsl_dir_is_clone(ds->ds_dir) && DS_IS_DEFER_DESTROY(ds->ds_prev) && in dsl_destroy_head_check_impl()
804 dsl_dataset_phys(ds->ds_prev)->ds_num_children == 2 && in dsl_destroy_head_check_impl()
805 ds->ds_prev->ds_userrefs == 0) { in dsl_destroy_head_check_impl()
807 if (!zfs_refcount_is_zero(&ds->ds_prev->ds_longholds)) in dsl_destroy_head_check_impl()
818 dsl_dataset_t *ds; in dsl_destroy_head_check() local
821 error = dsl_dataset_hold(dp, ddha->ddha_name, FTAG, &ds); in dsl_destroy_head_check()
825 error = dsl_destroy_head_check_impl(ds, 0); in dsl_destroy_head_check()
826 dsl_dataset_rele(ds, FTAG); in dsl_destroy_head_check()
904 dsl_async_clone_destroy(dsl_dataset_t *ds, dmu_tx_t *tx) in dsl_async_clone_destroy() argument
908 dsl_dir_t *dd = ds->ds_dir; in dsl_async_clone_destroy()
912 VERIFY0(dmu_objset_from_ds(ds, &os)); in dsl_async_clone_destroy()
919 spa_history_log_internal_ds(ds, "destroy", tx, in dsl_async_clone_destroy()
963 dsl_async_dataset_destroy(dsl_dataset_t *ds, dmu_tx_t *tx) in dsl_async_dataset_destroy() argument
968 VERIFY0(dmu_objset_from_ds(ds, &os)); in dsl_async_dataset_destroy()
972 spa_history_log_internal_ds(ds, "destroy", tx, in dsl_async_dataset_destroy()
974 (long long)dsl_dataset_phys(ds)->ds_prev_snap_txg); in dsl_async_dataset_destroy()
992 used = dsl_dir_phys(ds->ds_dir)->dd_used_bytes; in dsl_async_dataset_destroy()
993 comp = dsl_dir_phys(ds->ds_dir)->dd_compressed_bytes; in dsl_async_dataset_destroy()
994 uncomp = dsl_dir_phys(ds->ds_dir)->dd_uncompressed_bytes; in dsl_async_dataset_destroy()
996 ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) || in dsl_async_dataset_destroy()
997 dsl_dataset_phys(ds)->ds_unique_bytes == used); in dsl_async_dataset_destroy()
999 rrw_enter(&ds->ds_bp_rwlock, RW_READER, FTAG); in dsl_async_dataset_destroy()
1001 &dsl_dataset_phys(ds)->ds_bp, in dsl_async_dataset_destroy()
1002 dsl_dataset_phys(ds)->ds_prev_snap_txg, in dsl_async_dataset_destroy()
1004 rrw_exit(&ds->ds_bp_rwlock, FTAG); in dsl_async_dataset_destroy()
1005 dsl_dir_diduse_space(ds->ds_dir, DD_USED_HEAD, in dsl_async_dataset_destroy()
1012 dsl_destroy_head_sync_impl(dsl_dataset_t *ds, dmu_tx_t *tx) in dsl_destroy_head_sync_impl() argument
1019 ASSERT3U(dsl_dataset_phys(ds)->ds_num_children, <=, 1); in dsl_destroy_head_sync_impl()
1020 ASSERT(ds->ds_prev == NULL || in dsl_destroy_head_sync_impl()
1021 dsl_dataset_phys(ds->ds_prev)->ds_next_snap_obj != ds->ds_object); in dsl_destroy_head_sync_impl()
1022 rrw_enter(&ds->ds_bp_rwlock, RW_READER, FTAG); in dsl_destroy_head_sync_impl()
1023 ASSERT3U(BP_GET_LOGICAL_BIRTH(&dsl_dataset_phys(ds)->ds_bp), <=, in dsl_destroy_head_sync_impl()
1025 rrw_exit(&ds->ds_bp_rwlock, FTAG); in dsl_destroy_head_sync_impl()
1028 dsl_dir_cancel_waiters(ds->ds_dir); in dsl_destroy_head_sync_impl()
1030 rmorigin = (dsl_dir_is_clone(ds->ds_dir) && in dsl_destroy_head_sync_impl()
1031 DS_IS_DEFER_DESTROY(ds->ds_prev) && in dsl_destroy_head_sync_impl()
1032 dsl_dataset_phys(ds->ds_prev)->ds_num_children == 2 && in dsl_destroy_head_sync_impl()
1033 ds->ds_prev->ds_userrefs == 0); in dsl_destroy_head_sync_impl()
1036 if (ds->ds_reserved != 0) { in dsl_destroy_head_sync_impl()
1037 dsl_dataset_set_refreservation_sync_impl(ds, in dsl_destroy_head_sync_impl()
1040 ASSERT0(ds->ds_reserved); in dsl_destroy_head_sync_impl()
1043 obj = ds->ds_object; in dsl_destroy_head_sync_impl()
1046 if (dsl_dataset_feature_is_active(ds, f)) in dsl_destroy_head_sync_impl()
1047 dsl_dataset_deactivate_feature(ds, f, tx); in dsl_destroy_head_sync_impl()
1050 dsl_scan_ds_destroyed(ds, tx); in dsl_destroy_head_sync_impl()
1052 if (dsl_dataset_phys(ds)->ds_prev_snap_obj != 0) { in dsl_destroy_head_sync_impl()
1054 ASSERT(ds->ds_prev != NULL); in dsl_destroy_head_sync_impl()
1055 ASSERT3U(dsl_dataset_phys(ds->ds_prev)->ds_next_snap_obj, !=, in dsl_destroy_head_sync_impl()
1057 ASSERT0(dsl_dataset_phys(ds)->ds_next_snap_obj); in dsl_destroy_head_sync_impl()
1059 dmu_buf_will_dirty(ds->ds_prev->ds_dbuf, tx); in dsl_destroy_head_sync_impl()
1060 if (dsl_dataset_phys(ds->ds_prev)->ds_next_clones_obj != 0) { in dsl_destroy_head_sync_impl()
1061 dsl_dataset_remove_from_next_clones(ds->ds_prev, in dsl_destroy_head_sync_impl()
1065 ASSERT3U(dsl_dataset_phys(ds->ds_prev)->ds_num_children, >, 1); in dsl_destroy_head_sync_impl()
1066 dsl_dataset_phys(ds->ds_prev)->ds_num_children--; in dsl_destroy_head_sync_impl()
1075 dsl_deadlist_close(&ds->ds_deadlist); in dsl_destroy_head_sync_impl()
1076 dsl_deadlist_free(mos, dsl_dataset_phys(ds)->ds_deadlist_obj, tx); in dsl_destroy_head_sync_impl()
1077 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_destroy_head_sync_impl()
1078 dsl_dataset_phys(ds)->ds_deadlist_obj = 0; in dsl_destroy_head_sync_impl()
1080 if (dsl_dataset_remap_deadlist_exists(ds)) in dsl_destroy_head_sync_impl()
1081 dsl_dataset_destroy_remap_deadlist(ds, tx); in dsl_destroy_head_sync_impl()
1088 if (dsl_deadlist_is_open(&ds->ds_dir->dd_livelist)) { in dsl_destroy_head_sync_impl()
1089 dsl_async_clone_destroy(ds, tx); in dsl_destroy_head_sync_impl()
1092 dsl_async_dataset_destroy(ds, tx); in dsl_destroy_head_sync_impl()
1094 old_synchronous_dataset_destroy(ds, tx); in dsl_destroy_head_sync_impl()
1097 if (ds->ds_prev != NULL) { in dsl_destroy_head_sync_impl()
1100 dsl_dir_phys(ds->ds_prev->ds_dir)->dd_clones, in dsl_destroy_head_sync_impl()
1101 ds->ds_object, tx)); in dsl_destroy_head_sync_impl()
1103 prevobj = ds->ds_prev->ds_object; in dsl_destroy_head_sync_impl()
1104 dsl_dataset_rele(ds->ds_prev, ds); in dsl_destroy_head_sync_impl()
1105 ds->ds_prev = NULL; in dsl_destroy_head_sync_impl()
1112 if (ds->ds_objset) { in dsl_destroy_head_sync_impl()
1113 dmu_objset_evict(ds->ds_objset); in dsl_destroy_head_sync_impl()
1114 ds->ds_objset = NULL; in dsl_destroy_head_sync_impl()
1118 dmu_buf_will_dirty(ds->ds_dir->dd_dbuf, tx); in dsl_destroy_head_sync_impl()
1119 dsl_dir_phys(ds->ds_dir)->dd_head_dataset_obj = 0; in dsl_destroy_head_sync_impl()
1120 ddobj = ds->ds_dir->dd_object; in dsl_destroy_head_sync_impl()
1121 ASSERT(dsl_dataset_phys(ds)->ds_snapnames_zapobj != 0); in dsl_destroy_head_sync_impl()
1123 dsl_dataset_phys(ds)->ds_snapnames_zapobj, tx)); in dsl_destroy_head_sync_impl()
1125 if (ds->ds_bookmarks_obj != 0) { in dsl_destroy_head_sync_impl()
1129 while ((dbn = avl_destroy_nodes(&ds->ds_bookmarks, &cookie)) != in dsl_destroy_head_sync_impl()
1155 avl_destroy(&ds->ds_bookmarks); in dsl_destroy_head_sync_impl()
1156 VERIFY0(zap_destroy(mos, ds->ds_bookmarks_obj, tx)); in dsl_destroy_head_sync_impl()
1160 spa_prop_clear_bootfs(dp->dp_spa, ds->ds_object, tx); in dsl_destroy_head_sync_impl()
1162 ASSERT0(dsl_dataset_phys(ds)->ds_next_clones_obj); in dsl_destroy_head_sync_impl()
1163 ASSERT0(dsl_dataset_phys(ds)->ds_props_obj); in dsl_destroy_head_sync_impl()
1164 ASSERT0(dsl_dataset_phys(ds)->ds_userrefs_obj); in dsl_destroy_head_sync_impl()
1165 dsl_dir_rele(ds->ds_dir, ds); in dsl_destroy_head_sync_impl()
1166 ds->ds_dir = NULL; in dsl_destroy_head_sync_impl()
1179 spa_delete_dataset_errlog(dp->dp_spa, ds->ds_object, tx); in dsl_destroy_head_sync_impl()
1187 dsl_dataset_t *ds; in dsl_destroy_head_sync() local
1189 VERIFY0(dsl_dataset_hold(dp, ddha->ddha_name, FTAG, &ds)); in dsl_destroy_head_sync()
1190 dsl_destroy_head_sync_impl(ds, tx); in dsl_destroy_head_sync()
1192 dsl_dataset_rele(ds, FTAG); in dsl_destroy_head_sync()
1200 dsl_dataset_t *ds; in dsl_destroy_head_begin_sync() local
1202 VERIFY0(dsl_dataset_hold(dp, ddha->ddha_name, FTAG, &ds)); in dsl_destroy_head_begin_sync()
1205 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_destroy_head_begin_sync()
1206 dsl_dataset_phys(ds)->ds_flags |= DS_FLAG_INCONSISTENT; in dsl_destroy_head_begin_sync()
1208 spa_history_log_internal_ds(ds, "destroy begin", tx, " "); in dsl_destroy_head_begin_sync()
1209 dsl_dataset_rele(ds, FTAG); in dsl_destroy_head_begin_sync()