void
dsl_dataset_disown(dsl_dataset_t *ds, void *tag)
{
- ASSERT(ds->ds_owner == tag && ds->ds_dbuf != NULL);
+ ASSERT3P(ds->ds_owner, ==, tag);
+ ASSERT(ds->ds_dbuf != NULL);
mutex_enter(&ds->ds_lock);
ds->ds_owner = NULL;
mutex_exit(&ds->ds_lock);
dsl_dataset_long_rele(ds, tag);
- if (ds->ds_dbuf != NULL)
- dsl_dataset_rele(ds, tag);
- else
- dsl_dataset_evict(NULL, ds);
+ dsl_dataset_rele(ds, tag);
}
boolean_t
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 = ds->ds_phys->ds_props_obj;
if (zapobj != 0) {
objset_t *mos = ds->ds_dir->dd_pool->dp_meta_objset;
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) {
dmu_buf_will_dirty(ds->ds_dbuf, tx);
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