}
/* Check for a local value. */
- err = zap_lookup(mos, dd->dd_phys->dd_props_zapobj, propname,
- intsz, numints, buf);
+ err = zap_lookup(mos, dsl_dir_phys(dd)->dd_props_zapobj,
+ propname, intsz, numints, buf);
if (err != ENOENT) {
if (setpoint != NULL && err == 0)
dsl_dir_name(dd, setpoint);
* Skip the check for a received value if there is an explicit
* inheritance entry.
*/
- err = zap_contains(mos, dd->dd_phys->dd_props_zapobj,
+ err = zap_contains(mos, dsl_dir_phys(dd)->dd_props_zapobj,
inheritstr);
if (err != 0 && err != ENOENT)
break;
if (err == ENOENT) {
/* Check for a received value. */
- err = zap_lookup(mos, dd->dd_phys->dd_props_zapobj,
+ err = zap_lookup(mos, dsl_dir_phys(dd)->dd_props_zapobj,
recvdstr, intsz, numints, buf);
if (err != ENOENT) {
if (setpoint != NULL && err == 0) {
ASSERT(dsl_pool_config_held(ds->ds_dir->dd_pool));
inheritable = (prop == ZPROP_INVAL || zfs_prop_inheritable(prop));
- snapshot = (ds->ds_phys != NULL && dsl_dataset_is_snapshot(ds));
- zapobj = (ds->ds_phys == NULL ? 0 : ds->ds_phys->ds_props_obj);
+ snapshot = dsl_dataset_is_snapshot(ds);
+ zapobj = dsl_dataset_phys(ds)->ds_props_obj;
if (zapobj != 0) {
objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset;
}
mos = dd->dd_pool->dp_meta_objset;
- zapobj = dd->dd_phys->dd_props_zapobj;
+ zapobj = dsl_dir_phys(dd)->dd_props_zapobj;
recvdstr = kmem_asprintf("%s%s", propname, ZPROP_RECVD_SUFFIX);
version = spa_version(dd->dd_pool->dp_spa);
* If the prop is set here, then this change is not
* being inherited here or below; stop the recursion.
*/
- err = zap_contains(mos, dd->dd_phys->dd_props_zapobj, propname);
+ err = zap_contains(mos, dsl_dir_phys(dd)->dd_props_zapobj,
+ propname);
if (err == 0) {
dsl_dir_rele(dd, FTAG);
return;
mutex_enter(&dd->dd_lock);
for (cbr = list_head(&dd->dd_prop_cbs); cbr;
cbr = list_next(&dd->dd_prop_cbs, cbr)) {
- uint64_t propobj = cbr->cbr_ds->ds_phys->ds_props_obj;
+ uint64_t propobj = dsl_dataset_phys(cbr->cbr_ds)->ds_props_obj;
if (strcmp(cbr->cbr_propname, propname) != 0)
continue;
za = kmem_alloc(sizeof (zap_attribute_t), KM_SLEEP);
for (zap_cursor_init(&zc, mos,
- dd->dd_phys->dd_child_dir_zapobj);
+ dsl_dir_phys(dd)->dd_child_dir_zapobj);
zap_cursor_retrieve(&zc, za) == 0;
zap_cursor_advance(&zc)) {
dsl_prop_changed_notify(dp, za->za_first_integer,
isint = (dodefault(propname, 8, 1, &intval) == 0);
- if (ds->ds_phys != NULL && dsl_dataset_is_snapshot(ds)) {
+ if (dsl_dataset_is_snapshot(ds)) {
ASSERT(version >= SPA_VERSION_SNAP_PROPS);
- if (ds->ds_phys->ds_props_obj == 0) {
+ if (dsl_dataset_phys(ds)->ds_props_obj == 0) {
dmu_buf_will_dirty(ds->ds_dbuf, tx);
- ds->ds_phys->ds_props_obj =
+ dsl_dataset_phys(ds)->ds_props_obj =
zap_create(mos,
DMU_OT_DSL_PROPS, DMU_OT_NONE, 0, tx);
}
- zapobj = ds->ds_phys->ds_props_obj;
+ zapobj = dsl_dataset_phys(ds)->ds_props_obj;
} else {
- zapobj = ds->ds_dir->dd_phys->dd_props_zapobj;
+ zapobj = dsl_dir_phys(ds->ds_dir)->dd_props_zapobj;
}
if (version < SPA_VERSION_RECVD_PROPS) {
if (isint) {
VERIFY0(dsl_prop_get_int_ds(ds, propname, &intval));
- if (ds->ds_phys != NULL && dsl_dataset_is_snapshot(ds)) {
+ if (dsl_dataset_is_snapshot(ds)) {
dsl_prop_cb_record_t *cbr;
/*
* It's a snapshot; nothing can inherit this
ASSERT(dsl_pool_config_held(dp));
- if (ds->ds_phys->ds_props_obj != 0) {
+ if (dsl_dataset_phys(ds)->ds_props_obj != 0) {
ASSERT(flags & DSL_PROP_GET_SNAPSHOT);
dsl_dataset_name(ds, setpoint);
- err = dsl_prop_get_all_impl(mos, ds->ds_phys->ds_props_obj,
- setpoint, flags, *nvp);
+ err = dsl_prop_get_all_impl(mos,
+ dsl_dataset_phys(ds)->ds_props_obj, setpoint, flags, *nvp);
if (err)
goto out;
}
flags |= DSL_PROP_GET_INHERITING;
}
dsl_dir_name(dd, setpoint);
- err = dsl_prop_get_all_impl(mos, dd->dd_phys->dd_props_zapobj,
- setpoint, flags, *nvp);
+ err = dsl_prop_get_all_impl(mos,
+ dsl_dir_phys(dd)->dd_props_zapobj, setpoint, flags, *nvp);
if (err)
break;
}