Lines Matching refs:ds

160 dsl_prop_get_ds(dsl_dataset_t *ds, const char *propname,
168 ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool));
170 snapshot = (ds->ds_phys != NULL && dsl_dataset_is_snapshot(ds));
171 zapobj = (ds->ds_phys == NULL ? 0 : ds->ds_phys->ds_props_obj);
174 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset;
183 dsl_dataset_name(ds, setpoint);
216 return (dsl_prop_get_dd(ds->ds_dir, propname,
228 dsl_prop_register(dsl_dataset_t *ds, const char *propname,
231 dsl_dir_t *dd = ds->ds_dir;
239 err = dsl_prop_get_int_ds(ds, propname, &value);
244 cbr->cbr_ds = ds;
291 dsl_prop_get_int_ds(dsl_dataset_t *ds, const char *propname,
294 return (dsl_prop_get_ds(ds, propname, 8, 1, valuep, NULL));
385 dsl_prop_unregister(dsl_dataset_t *ds, const char *propname,
388 dsl_dir_t *dd = ds->ds_dir;
394 if (cbr->cbr_ds == ds &&
415 dsl_prop_hascb(dsl_dataset_t *ds)
417 dsl_dir_t *dd = ds->ds_dir;
424 if (cbr->cbr_ds == ds) {
435 dsl_prop_notify_all_cb(dsl_pool_t *dp, dsl_dataset_t *ds, void *arg)
437 dsl_dir_t *dd = ds->ds_dir;
505 * If the property is set on this ds, then it is not
529 dsl_prop_set_sync_impl(dsl_dataset_t *ds, const char *propname,
533 objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset;
542 uint64_t version = spa_version(ds->ds_dir->dd_pool->dp_spa);
546 if (ds->ds_phys != NULL && dsl_dataset_is_snapshot(ds)) {
548 if (ds->ds_phys->ds_props_obj == 0) {
549 dmu_buf_will_dirty(ds->ds_dbuf, tx);
550 ds->ds_phys->ds_props_obj =
554 zapobj = ds->ds_phys->ds_props_obj;
556 zapobj = ds->ds_dir->dd_phys->dd_props_zapobj;
600 dsl_prop_get_int_ds(ds, ZPROP_HAS_RECVD, &dummy) == 0) {
641 VERIFY0(dsl_prop_get_int_ds(ds, propname, &intval));
643 if (ds->ds_phys != NULL && dsl_dataset_is_snapshot(ds)) {
648 * ds here.
650 mutex_enter(&ds->ds_dir->dd_lock);
651 for (cbr = list_head(&ds->ds_dir->dd_prop_cbs); cbr;
652 cbr = list_next(&ds->ds_dir->dd_prop_cbs, cbr)) {
653 if (cbr->cbr_ds == ds &&
657 mutex_exit(&ds->ds_dir->dd_lock);
659 dsl_prop_changed_notify(ds->ds_dir->dd_pool,
660 ds->ds_dir->dd_object, propname, intval, TRUE);
671 if (dsl_prop_get_ds(ds, propname, 1,
677 spa_history_log_internal_ds(ds, (source == ZPROP_SRC_NONE ||
735 dsl_dataset_t *ds;
740 err = dsl_dataset_hold(dp, dpsa->dpsa_dsname, FTAG, &ds);
744 version = spa_version(ds->ds_dir->dd_pool->dp_spa);
747 dsl_dataset_rele(ds, FTAG);
755 dsl_dataset_rele(ds, FTAG);
761 if (dsl_dataset_is_snapshot(ds) && version < SPA_VERSION_SNAP_PROPS) {
762 dsl_dataset_rele(ds, FTAG);
765 dsl_dataset_rele(ds, FTAG);
770 dsl_props_set_sync_impl(dsl_dataset_t *ds, zprop_source_t source,
789 dsl_prop_set_sync_impl(ds, nvpair_name(pair),
793 dsl_prop_set_sync_impl(ds, nvpair_name(pair),
796 dsl_prop_set_sync_impl(ds, nvpair_name(pair),
809 dsl_dataset_t *ds;
811 VERIFY0(dsl_dataset_hold(dp, dpsa->dpsa_dsname, FTAG, &ds));
812 dsl_props_set_sync_impl(ds, dpsa->dpsa_source, dpsa->dpsa_props, tx);
813 dsl_dataset_rele(ds, FTAG);
841 DSL_PROP_GET_INHERITING = 0x1, /* searching parent of target ds */
973 dsl_prop_get_all_ds(dsl_dataset_t *ds, nvlist_t **nvp,
976 dsl_dir_t *dd = ds->ds_dir;
984 if (dsl_dataset_is_snapshot(ds))
989 if (ds->ds_phys->ds_props_obj != 0) {
991 dsl_dataset_name(ds, setpoint);
992 err = dsl_prop_get_all_impl(mos, ds->ds_phys->ds_props_obj,
999 if (dd != ds->ds_dir || (flags & DSL_PROP_GET_SNAPSHOT)) {