Author: delphij
Date: Fri Jan 23 17:21:11 2015
New Revision: 277573
URL: https://svnweb.freebsd.org/changeset/base/277573

Log:
  MFC r275735: MFV r275543:
  
  Remove always true tests for ds->ds_phys' presence.
  
  Clean up assertions in dsl_dataset_disown.
  
  Remove unreachable code in dsl_dataset_disown().
  
  Illumos issue:
      5310 Remove always true tests for non-NULL ds->ds_phys

Modified:
  stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
==============================================================================
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c      
Fri Jan 23 17:16:26 2015        (r277572)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c      
Fri Jan 23 17:21:11 2015        (r277573)
@@ -644,16 +644,14 @@ dsl_dataset_rele(dsl_dataset_t *ds, void
 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

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c
==============================================================================
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c Fri Jan 
23 17:16:26 2015        (r277572)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c Fri Jan 
23 17:21:11 2015        (r277573)
@@ -167,8 +167,8 @@ dsl_prop_get_ds(dsl_dataset_t *ds, const
 
        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;
@@ -543,7 +543,7 @@ dsl_prop_set_sync_impl(dsl_dataset_t *ds
 
        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);
@@ -640,7 +640,7 @@ dsl_prop_set_sync_impl(dsl_dataset_t *ds
        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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to