]> granicus.if.org Git - zfs/commitdiff
Illumos 5310 - Remove always true tests for non-NULL ds->ds_phys
authorJustin T. Gibbs <justing@spectralogic.com>
Wed, 1 Apr 2015 15:13:28 +0000 (02:13 +1100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 28 Apr 2015 23:25:08 +0000 (16:25 -0700)
5310 Remove always true tests for non-NULL ds->ds_phys
Author: Justin T. Gibbs <justing@spectralogic.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Will Andrews <willa@spectralogic.com>
Reviewed by: Andriy Gapon <avg@FreeBSD.org>
Approved by: Dan McDonald <danmcd@omniti.com>

References:
  https://www.illumos.org/issues/5310
  https://github.com/illumos/illumos-gate/commit/d808a4f

Ported-by: Chris Dunlop <chris@onthe.net.au>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/dsl_dataset.c
module/zfs/dsl_prop.c

index 5f2e205d925368e004f1116ae8b31b86c5dc20ab..2dd87cd0a4797d9cc898a73c16c50f3667afcd29 100644 (file)
@@ -618,16 +618,14 @@ dsl_dataset_rele(dsl_dataset_t *ds, void *tag)
 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
index d712473269262b1ee084c5a986d6b8abbb72b990..cd5891864ab09f3fd605aada01a0b14a55bce66c 100644 (file)
@@ -168,8 +168,8 @@ dsl_prop_get_ds(dsl_dataset_t *ds, const char *propname,
 
        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;
@@ -544,7 +544,7 @@ dsl_prop_set_sync_impl(dsl_dataset_t *ds, const char *propname,
 
        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);
@@ -641,7 +641,7 @@ dsl_prop_set_sync_impl(dsl_dataset_t *ds, const char *propname,
        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