Lines Matching refs:ds
160 dsl_prop_get_ds(dsl_dataset_t *ds, const char *propname, in dsl_prop_get_ds() argument
167 ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool)); in dsl_prop_get_ds()
169 zapobj = dsl_dataset_phys(ds)->ds_props_obj; in dsl_prop_get_ds()
172 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_prop_get_ds()
175 ASSERT(ds->ds_is_snapshot); in dsl_prop_get_ds()
181 dsl_dataset_name(ds, setpoint); in dsl_prop_get_ds()
214 return (dsl_prop_get_dd(ds->ds_dir, propname, in dsl_prop_get_ds()
215 intsz, numints, buf, setpoint, ds->ds_is_snapshot)); in dsl_prop_get_ds()
278 dsl_prop_register(dsl_dataset_t *ds, const char *propname, in dsl_prop_register() argument
281 dsl_dir_t *dd = ds->ds_dir; in dsl_prop_register()
290 err = dsl_prop_get_int_ds(ds, propname, &value); in dsl_prop_register()
295 cbr->cbr_ds = ds; in dsl_prop_register()
305 list_insert_head(&ds->ds_prop_cbs, cbr); in dsl_prop_register()
346 dsl_prop_get_int_ds(dsl_dataset_t *ds, const char *propname, in dsl_prop_get_int_ds() argument
349 return (dsl_prop_get_ds(ds, propname, 8, 1, valuep, NULL)); in dsl_prop_get_int_ds()
440 dsl_prop_unregister_all(dsl_dataset_t *ds, void *cbarg) in dsl_prop_unregister_all() argument
444 dsl_dir_t *dd = ds->ds_dir; in dsl_prop_unregister_all()
447 next_cbr = list_head(&ds->ds_prop_cbs); in dsl_prop_unregister_all()
450 next_cbr = list_next(&ds->ds_prop_cbs, cbr); in dsl_prop_unregister_all()
452 list_remove(&ds->ds_prop_cbs, cbr); in dsl_prop_unregister_all()
461 dsl_prop_hascb(dsl_dataset_t *ds) in dsl_prop_hascb() argument
463 return (!list_is_empty(&ds->ds_prop_cbs)); in dsl_prop_hascb()
468 dsl_prop_notify_all_cb(dsl_pool_t *dp, dsl_dataset_t *ds, void *arg) in dsl_prop_notify_all_cb() argument
470 dsl_dir_t *dd = ds->ds_dir; in dsl_prop_notify_all_cb()
503 if (ds != cbr->cbr_ds && in dsl_prop_notify_all_cb()
512 if (ds != cbr->cbr_ds) in dsl_prop_notify_all_cb()
610 dsl_prop_set_sync_impl(dsl_dataset_t *ds, const char *propname, in dsl_prop_set_sync_impl() argument
614 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset; in dsl_prop_set_sync_impl()
623 uint64_t version = spa_version(ds->ds_dir->dd_pool->dp_spa); in dsl_prop_set_sync_impl()
627 if (ds->ds_is_snapshot) { in dsl_prop_set_sync_impl()
629 if (dsl_dataset_phys(ds)->ds_props_obj == 0) { in dsl_prop_set_sync_impl()
630 dmu_buf_will_dirty(ds->ds_dbuf, tx); in dsl_prop_set_sync_impl()
631 dsl_dataset_phys(ds)->ds_props_obj = in dsl_prop_set_sync_impl()
635 zapobj = dsl_dataset_phys(ds)->ds_props_obj; in dsl_prop_set_sync_impl()
637 zapobj = dsl_dir_phys(ds->ds_dir)->dd_props_zapobj; in dsl_prop_set_sync_impl()
681 dsl_prop_get_int_ds(ds, ZPROP_HAS_RECVD, &dummy) == 0) { in dsl_prop_set_sync_impl()
722 VERIFY0(dsl_prop_get_int_ds(ds, propname, &intval)); in dsl_prop_set_sync_impl()
724 if (ds->ds_is_snapshot) { in dsl_prop_set_sync_impl()
731 mutex_enter(&ds->ds_dir->dd_lock); in dsl_prop_set_sync_impl()
732 for (cbr = list_head(&ds->ds_prop_cbs); cbr; in dsl_prop_set_sync_impl()
733 cbr = list_next(&ds->ds_prop_cbs, cbr)) { in dsl_prop_set_sync_impl()
738 mutex_exit(&ds->ds_dir->dd_lock); in dsl_prop_set_sync_impl()
740 dsl_prop_changed_notify(ds->ds_dir->dd_pool, in dsl_prop_set_sync_impl()
741 ds->ds_dir->dd_object, propname, intval, TRUE); in dsl_prop_set_sync_impl()
752 if (dsl_prop_get_ds(ds, propname, 1, in dsl_prop_set_sync_impl()
758 spa_history_log_internal_ds(ds, (source == ZPROP_SRC_NONE || in dsl_prop_set_sync_impl()
810 dsl_dataset_t *ds; in dsl_props_set_check() local
815 err = dsl_dataset_hold(dp, dpsa->dpsa_dsname, FTAG, &ds); in dsl_props_set_check()
819 version = spa_version(ds->ds_dir->dd_pool->dp_spa); in dsl_props_set_check()
822 dsl_dataset_rele(ds, FTAG); in dsl_props_set_check()
830 dsl_dataset_rele(ds, FTAG); in dsl_props_set_check()
836 if (ds->ds_is_snapshot && version < SPA_VERSION_SNAP_PROPS) { in dsl_props_set_check()
837 dsl_dataset_rele(ds, FTAG); in dsl_props_set_check()
840 dsl_dataset_rele(ds, FTAG); in dsl_props_set_check()
845 dsl_props_set_sync_impl(dsl_dataset_t *ds, zprop_source_t source, in dsl_props_set_sync_impl() argument
868 dsl_prop_set_sync_impl(ds, name, in dsl_props_set_sync_impl()
872 dsl_prop_set_sync_impl(ds, name, in dsl_props_set_sync_impl()
875 dsl_prop_set_sync_impl(ds, name, in dsl_props_set_sync_impl()
888 dsl_dataset_t *ds; in dsl_props_set_sync() local
890 VERIFY0(dsl_dataset_hold(dp, dpsa->dpsa_dsname, FTAG, &ds)); in dsl_props_set_sync()
891 dsl_props_set_sync_impl(ds, dpsa->dpsa_source, dpsa->dpsa_props, tx); in dsl_props_set_sync()
892 dsl_dataset_rele(ds, FTAG); in dsl_props_set_sync()
1052 dsl_prop_get_all_ds(dsl_dataset_t *ds, nvlist_t **nvp, in dsl_prop_get_all_ds() argument
1055 dsl_dir_t *dd = ds->ds_dir; in dsl_prop_get_all_ds()
1063 if (ds->ds_is_snapshot) in dsl_prop_get_all_ds()
1068 if (dsl_dataset_phys(ds)->ds_props_obj != 0) { in dsl_prop_get_all_ds()
1070 dsl_dataset_name(ds, setpoint); in dsl_prop_get_all_ds()
1072 dsl_dataset_phys(ds)->ds_props_obj, setpoint, flags, *nvp); in dsl_prop_get_all_ds()
1078 if (dd != ds->ds_dir || (flags & DSL_PROP_GET_SNAPSHOT)) { in dsl_prop_get_all_ds()