Lines Matching refs:dd

73 dsl_prop_get_dd(dsl_dir_t *dd, const char *propname,
77 dsl_dir_t *target = dd;
78 objset_t *mos = dd->dd_pool->dp_meta_objset;
85 ASSERT(dsl_pool_config_held(dd->dd_pool));
96 * Note: dd may become NULL, therefore we shouldn't dereference it
99 for (; dd != NULL; dd = dd->dd_parent) {
100 if (dd != target || snapshot) {
107 err = zap_lookup(mos, dsl_dir_phys(dd)->dd_props_zapobj,
111 dsl_dir_name(dd, setpoint);
119 err = zap_contains(mos, dsl_dir_phys(dd)->dd_props_zapobj,
126 err = zap_lookup(mos, dsl_dir_phys(dd)->dd_props_zapobj,
131 dsl_dir_name(dd, setpoint);
219 dsl_prop_record_find(dsl_dir_t *dd, const char *propname)
223 ASSERT(MUTEX_HELD(&dd->dd_lock));
225 for (pr = list_head(&dd->dd_props);
226 pr != NULL; pr = list_next(&dd->dd_props, pr)) {
235 dsl_prop_record_create(dsl_dir_t *dd, const char *propname)
239 ASSERT(MUTEX_HELD(&dd->dd_lock));
245 list_insert_head(&dd->dd_props, pr);
251 dsl_prop_init(dsl_dir_t *dd)
253 list_create(&dd->dd_props, sizeof (dsl_prop_record_t),
258 dsl_prop_fini(dsl_dir_t *dd)
262 while ((pr = list_remove_head(&dd->dd_props)) != NULL) {
267 list_destroy(&dd->dd_props);
281 dsl_dir_t *dd = ds->ds_dir;
282 dsl_pool_t *dp = dd->dd_pool;
299 mutex_enter(&dd->dd_lock);
300 pr = dsl_prop_record_find(dd, propname);
302 pr = dsl_prop_record_create(dd, propname);
306 mutex_exit(&dd->dd_lock);
363 dsl_prop_predict(dsl_dir_t *dd, const char *propname,
383 mos = dd->dd_pool->dp_meta_objset;
384 zapobj = dsl_dir_phys(dd)->dd_props_zapobj;
387 version = spa_version(dd->dd_pool->dp_spa);
444 dsl_dir_t *dd = ds->ds_dir;
446 mutex_enter(&dd->dd_lock);
457 mutex_exit(&dd->dd_lock);
470 dsl_dir_t *dd = ds->ds_dir;
474 mutex_enter(&dd->dd_lock);
475 for (pr = list_head(&dd->dd_props);
476 pr; pr = list_next(&dd->dd_props, pr)) {
516 mutex_exit(&dd->dd_lock);
526 dsl_prop_notify_all(dsl_dir_t *dd)
528 dsl_pool_t *dp = dd->dd_pool;
530 (void) dmu_objset_find_dp(dp, dd->dd_object, dsl_prop_notify_all_cb,
538 dsl_dir_t *dd;
547 err = dsl_dir_hold_obj(dp, ddobj, NULL, FTAG, &dd);
556 err = zap_contains(mos, dsl_dir_phys(dd)->dd_props_zapobj,
559 dsl_dir_rele(dd, FTAG);
565 mutex_enter(&dd->dd_lock);
566 pr = dsl_prop_record_find(dd, propname);
594 mutex_exit(&dd->dd_lock);
598 dsl_dir_phys(dd)->dd_child_dir_zapobj);
606 dsl_dir_rele(dd, FTAG);
1057 dsl_dir_t *dd = ds->ds_dir;
1058 dsl_pool_t *dp = dd->dd_pool;
1079 for (; dd != NULL; dd = dd->dd_parent) {
1080 if (dd != ds->ds_dir || (flags & DSL_PROP_GET_SNAPSHOT)) {
1086 dsl_dir_name(dd, setpoint);
1088 dsl_dir_phys(dd)->dd_props_zapobj, setpoint, flags, *nvp);