Lines Matching refs:ds

160 dsl_prop_get_ds(dsl_dataset_t *ds, const char *propname,
167 ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool));
169 zapobj = dsl_dataset_phys(ds)->ds_props_obj;
172 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset;
175 ASSERT(ds->ds_is_snapshot);
181 dsl_dataset_name(ds, setpoint);
214 return (dsl_prop_get_dd(ds->ds_dir, propname,
215 intsz, numints, buf, setpoint, ds->ds_is_snapshot));
278 dsl_prop_register(dsl_dataset_t *ds, const char *propname,
281 dsl_dir_t *dd = ds->ds_dir;
290 err = dsl_prop_get_int_ds(ds, propname, &value);
295 cbr->cbr_ds = ds;
305 list_insert_head(&ds->ds_prop_cbs, cbr);
346 dsl_prop_get_int_ds(dsl_dataset_t *ds, const char *propname,
349 return (dsl_prop_get_ds(ds, propname, 8, 1, valuep, NULL));
440 dsl_prop_unregister_all(dsl_dataset_t *ds, void *cbarg)
444 dsl_dir_t *dd = ds->ds_dir;
447 next_cbr = list_head(&ds->ds_prop_cbs);
450 next_cbr = list_next(&ds->ds_prop_cbs, cbr);
452 list_remove(&ds->ds_prop_cbs, cbr);
461 dsl_prop_hascb(dsl_dataset_t *ds)
463 return (!list_is_empty(&ds->ds_prop_cbs));
468 dsl_prop_notify_all_cb(dsl_pool_t *dp, dsl_dataset_t *ds, void *arg)
470 dsl_dir_t *dd = ds->ds_dir;
503 if (ds != cbr->cbr_ds &&
512 if (ds != cbr->cbr_ds)
584 * If the property is not set on this ds, then it is
610 dsl_prop_set_sync_impl(dsl_dataset_t *ds, const char *propname,
614 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset;
623 uint64_t version = spa_version(ds->ds_dir->dd_pool->dp_spa);
627 if (ds->ds_is_snapshot) {
629 if (dsl_dataset_phys(ds)->ds_props_obj == 0) {
630 dmu_buf_will_dirty(ds->ds_dbuf, tx);
631 dsl_dataset_phys(ds)->ds_props_obj =
635 zapobj = dsl_dataset_phys(ds)->ds_props_obj;
637 zapobj = dsl_dir_phys(ds->ds_dir)->dd_props_zapobj;
681 dsl_prop_get_int_ds(ds, ZPROP_HAS_RECVD, &dummy) == 0) {
722 VERIFY0(dsl_prop_get_int_ds(ds, propname, &intval));
724 if (ds->ds_is_snapshot) {
729 * ds here.
731 mutex_enter(&ds->ds_dir->dd_lock);
732 for (cbr = list_head(&ds->ds_prop_cbs); cbr;
733 cbr = list_next(&ds->ds_prop_cbs, cbr)) {
738 mutex_exit(&ds->ds_dir->dd_lock);
740 dsl_prop_changed_notify(ds->ds_dir->dd_pool,
741 ds->ds_dir->dd_object, propname, intval, TRUE);
752 if (dsl_prop_get_ds(ds, propname, 1,
758 spa_history_log_internal_ds(ds, (source == ZPROP_SRC_NONE ||
816 dsl_dataset_t *ds;
821 err = dsl_dataset_hold(dp, dpsa->dpsa_dsname, FTAG, &ds);
825 version = spa_version(ds->ds_dir->dd_pool->dp_spa);
828 dsl_dataset_rele(ds, FTAG);
836 dsl_dataset_rele(ds, FTAG);
842 if (ds->ds_is_snapshot && version < SPA_VERSION_SNAP_PROPS) {
843 dsl_dataset_rele(ds, FTAG);
846 dsl_dataset_rele(ds, FTAG);
851 dsl_props_set_sync_impl(dsl_dataset_t *ds, zprop_source_t source,
870 dsl_prop_set_sync_impl(ds, nvpair_name(pair),
874 dsl_prop_set_sync_impl(ds, nvpair_name(pair),
877 dsl_prop_set_sync_impl(ds, nvpair_name(pair),
890 dsl_dataset_t *ds;
892 VERIFY0(dsl_dataset_hold(dp, dpsa->dpsa_dsname, FTAG, &ds));
893 dsl_props_set_sync_impl(ds, dpsa->dpsa_source, dpsa->dpsa_props, tx);
894 dsl_dataset_rele(ds, FTAG);
922 DSL_PROP_GET_INHERITING = 0x1, /* searching parent of target ds */
1054 dsl_prop_get_all_ds(dsl_dataset_t *ds, nvlist_t **nvp,
1057 dsl_dir_t *dd = ds->ds_dir;
1065 if (ds->ds_is_snapshot)
1070 if (dsl_dataset_phys(ds)->ds_props_obj != 0) {
1072 dsl_dataset_name(ds, setpoint);
1074 dsl_dataset_phys(ds)->ds_props_obj, setpoint, flags, *nvp);
1080 if (dd != ds->ds_dir || (flags & DSL_PROP_GET_SNAPSHOT)) {