Lines Matching defs:origin_head
3556 dsl_dataset_t *origin_head;
3574 origin_head = snap->ds;
3606 dd->dd_origin_txg = origin_head->ds_dir->dd_origin_txg;
3609 origin_head->ds_dir->dd_origin_txg =
3622 origin_head->ds_object, tx));
3629 dsl_dir_phys(dd)->dd_clones, origin_head->ds_object, tx));
3636 for (dsl_bookmark_node_t *dbn = avl_first(&origin_head->ds_bookmarks);
3640 dbn_next = AVL_NEXT(&origin_head->ds_bookmarks, dbn);
3642 avl_remove(&origin_head->ds_bookmarks, dbn);
3644 origin_head->ds_bookmarks_obj, dbn->dbn_name, tx));
3668 VERIFY0(dsl_dataset_snap_remove(origin_head,
3766 * origin_head and hds.
3769 uint64_t old_head = origin_head->ds_object;
3957 dsl_dataset_t *origin_head, boolean_t force, void *owner, dmu_tx_t *tx)
3969 origin_head->ds_is_snapshot)
3973 if (!force && clone->ds_prev != origin_head->ds_prev)
3979 origin_head->ds_dir != clone->ds_prev->ds_dir)
3983 if (clone->ds_dir->dd_parent != origin_head->ds_dir)
3986 /* origin_head shouldn't be modified unless 'force' */
3988 dsl_dataset_modified_since_snap(origin_head, origin_head->ds_prev))
3991 /* origin_head should have no long holds (e.g. is not mounted) */
3992 if (dsl_dataset_handoff_check(origin_head, owner, tx))
3997 (int64_t)MIN(origin_head->ds_reserved,
3998 dsl_dataset_phys(origin_head)->ds_unique_bytes) -
3999 (int64_t)MIN(origin_head->ds_reserved,
4004 dsl_dir_space_available(origin_head->ds_dir, NULL, 0, TRUE))
4020 if (origin_head->ds_quota != 0 &&
4022 origin_head->ds_quota + refquota_slack)
4065 dsl_dataset_t *origin_head, dmu_tx_t *tx)
4075 ASSERT(origin_head->ds_quota == 0 ||
4076 dsl_dataset_phys(clone)->ds_unique_bytes <= origin_head->ds_quota +
4078 ASSERT3P(clone->ds_prev, ==, origin_head->ds_prev);
4080 dsl_dir_cancel_waiters(origin_head->ds_dir);
4089 ASSERT(!dsl_dataset_feature_is_active(origin_head, f));
4096 dsl_dataset_feature_is_active(origin_head, f);
4097 void *origin_head_feature = origin_head->ds_feature[f];
4102 dsl_dataset_deactivate_feature_impl(origin_head, f, tx);
4105 dsl_dataset_activate_feature(origin_head->ds_object, f,
4107 origin_head->ds_feature[f] = clone_feature;
4117 dmu_buf_will_dirty(origin_head->ds_dbuf, tx);
4124 if (origin_head->ds_objset != NULL) {
4125 dmu_objset_evict(origin_head->ds_objset);
4126 origin_head->ds_objset = NULL;
4130 (int64_t)MIN(origin_head->ds_reserved,
4131 dsl_dataset_phys(origin_head)->ds_unique_bytes) -
4132 (int64_t)MIN(origin_head->ds_reserved,
4151 rrw_enter(&origin_head->ds_bp_rwlock, RW_WRITER, FTAG);
4153 tmp = dsl_dataset_phys(origin_head)->ds_bp;
4154 dsl_dataset_phys(origin_head)->ds_bp =
4157 rrw_exit(&origin_head->ds_bp_rwlock, FTAG);
4172 dsl_deadlist_space(&origin_head->ds_deadlist,
4177 (dsl_dataset_phys(origin_head)->ds_referenced_bytes +
4181 (dsl_dataset_phys(origin_head)->ds_compressed_bytes +
4185 (dsl_dataset_phys(origin_head)->ds_uncompressed_bytes +
4188 dsl_dir_diduse_space(origin_head->ds_dir, DD_USED_HEAD,
4200 origin_head->ds_dir->dd_origin_txg, UINT64_MAX,
4202 dsl_deadlist_space_range(&origin_head->ds_deadlist,
4203 origin_head->ds_dir->dd_origin_txg, UINT64_MAX,
4205 dsl_dir_transfer_space(origin_head->ds_dir, cdl_used - odl_used,
4210 SWITCH64(dsl_dataset_phys(origin_head)->ds_referenced_bytes,
4212 SWITCH64(dsl_dataset_phys(origin_head)->ds_compressed_bytes,
4214 SWITCH64(dsl_dataset_phys(origin_head)->ds_uncompressed_bytes,
4216 SWITCH64(dsl_dataset_phys(origin_head)->ds_unique_bytes,
4220 dsl_dir_diduse_space(origin_head->ds_dir, DD_USED_REFRSRV,
4227 dsl_deadlist_close(&origin_head->ds_deadlist);
4228 SWITCH64(dsl_dataset_phys(origin_head)->ds_deadlist_obj,
4232 VERIFY0(dsl_deadlist_open(&origin_head->ds_deadlist, dp->dp_meta_objset,
4233 dsl_dataset_phys(origin_head)->ds_deadlist_obj));
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);
4250 dsl_dir_remove_livelist(origin_head->ds_dir, tx, B_TRUE);
4253 "parent=%s", origin_head->ds_dir->dd_myname);