Author: mm
Date: Tue May 11 09:26:46 2010
New Revision: 207911
URL: http://svn.freebsd.org/changeset/base/207911

Log:
  Fix failed assertion on destroying datasets from an older pool version.
  
  OpenSolaris onnv revision:    9390:887948510f80
  
  PR:           kern/146471
  Approved by:  pjd, delphij (mentor)
  Obtained from:        OpenSolaris (Bug ID 6826861)
  MFC after:    3 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c   Tue May 
11 09:23:46 2010        (r207910)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c   Tue May 
11 09:26:46 2010        (r207911)
@@ -1268,8 +1268,7 @@ dsl_dataset_rollback_sync(void *arg1, vo
                (void) zio_wait(zio);
        }
 
-       ASSERT(!(ds->ds_phys->ds_flags & DS_FLAG_UNIQUE_ACCURATE) ||
-           ds->ds_phys->ds_unique_bytes == 0);
+       ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) || ds->ds_phys->ds_unique_bytes == 0);
 
        if (ds->ds_prev && ds->ds_prev != ds->ds_dir->dd_pool->dp_origin_snap) {
                /* Change our contents to that of the prev snapshot */
@@ -1661,7 +1660,7 @@ dsl_dataset_destroy_sync(void *arg1, voi
                err = traverse_dsl_dataset(ds, ds->ds_phys->ds_prev_snap_txg,
                    ADVANCE_POST, kill_blkptr, &ka);
                ASSERT3U(err, ==, 0);
-               ASSERT(spa_version(dp->dp_spa) < SPA_VERSION_UNIQUE_ACCURATE ||
+               ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) ||
                    ds->ds_phys->ds_unique_bytes == 0);
        }
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to