Lines Matching refs:dd

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