Mercurial > illumos > illumos-gate
diff usr/src/uts/common/fs/zfs/dsl_dataset.c @ 13765:9410cf539b11
backout 3006: causes 3046 (panics after mounting root)
author | Richard Lowe <richlowe@richlowe.net> |
---|---|
date | Wed, 01 Aug 2012 16:40:39 -0400 |
parents | 38b4aca480b3 |
children | 2579580ac955 |
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/dsl_dataset.c Tue Jul 31 06:38:31 2012 -0700 +++ b/usr/src/uts/common/fs/zfs/dsl_dataset.c Wed Aug 01 16:40:39 2012 -0400 @@ -831,7 +831,7 @@ dmu_buf_will_dirty(origin->ds_dbuf, tx); origin->ds_phys->ds_num_children++; - VERIFY0(dsl_dataset_hold_obj(dp, + VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, origin->ds_dir->dd_phys->dd_head_dataset_obj, FTAG, &ohds)); dsphys->ds_deadlist_obj = dsl_deadlist_clone(&ohds->ds_deadlist, dsphys->ds_prev_snap_txg, dsphys->ds_prev_snap_obj, tx); @@ -857,7 +857,7 @@ zap_create(mos, DMU_OT_DSL_CLONES, DMU_OT_NONE, 0, tx); } - VERIFY0(zap_add_int(mos, + VERIFY3U(0, ==, zap_add_int(mos, origin->ds_dir->dd_phys->dd_clones, dsobj, tx)); } } @@ -900,8 +900,8 @@ dsl_dataset_t *ds; objset_t *os; - VERIFY0(dsl_dataset_hold_obj(dp, dsobj, FTAG, &ds)); - VERIFY0(dmu_objset_from_ds(ds, &os)); + VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, dsobj, FTAG, &ds)); + VERIFY3U(0, ==, dmu_objset_from_ds(ds, &os)); bzero(&os->os_zil_header, sizeof (os->os_zil_header)); dsl_dataset_dirty(ds, tx); dsl_dataset_rele(ds, FTAG); @@ -1504,9 +1504,10 @@ * remove this one. */ if (err != ENOENT) { - VERIFY0(err); + VERIFY3U(err, ==, 0); } - ASSERT0(zap_count(mos, ds->ds_phys->ds_next_clones_obj, &count)); + ASSERT3U(0, ==, zap_count(mos, ds->ds_phys->ds_next_clones_obj, + &count)); ASSERT3U(count, <=, ds->ds_phys->ds_num_children - 2); } @@ -1530,7 +1531,7 @@ zap_cursor_advance(&zc)) { dsl_dataset_t *clone; - VERIFY0(dsl_dataset_hold_obj(ds->ds_dir->dd_pool, + VERIFY3U(0, ==, dsl_dataset_hold_obj(ds->ds_dir->dd_pool, za.za_first_integer, FTAG, &clone)); if (clone->ds_dir->dd_origin_txg > mintxg) { dsl_deadlist_remove_key(&clone->ds_deadlist, @@ -1588,9 +1589,9 @@ poa.ds_prev = ds_prev; poa.after_branch_point = after_branch_point; poa.pio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); - VERIFY0(bpobj_iterate(&ds_next->ds_deadlist.dl_bpobj, + VERIFY3U(0, ==, bpobj_iterate(&ds_next->ds_deadlist.dl_bpobj, process_old_cb, &poa, tx)); - VERIFY0(zio_wait(poa.pio)); + VERIFY3U(zio_wait(poa.pio), ==, 0); ASSERT3U(poa.used, ==, ds->ds_phys->ds_unique_bytes); /* change snapused */ @@ -1625,7 +1626,7 @@ err = traverse_dataset(ds, ds->ds_phys->ds_prev_snap_txg, TRAVERSE_POST, kill_blkptr, &ka); - ASSERT0(err); + ASSERT3U(err, ==, 0); ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) || ds->ds_phys->ds_unique_bytes == 0); return (err); @@ -1681,7 +1682,7 @@ psa.psa_effective_value = 0; /* predict default value */ dsl_dataset_set_reservation_sync(ds, &psa, tx); - ASSERT0(ds->ds_reserved); + ASSERT3U(ds->ds_reserved, ==, 0); } ASSERT(RW_WRITE_HELD(&dp->dp_config_rwlock)); @@ -1818,7 +1819,7 @@ /* Collapse range in this head. */ dsl_dataset_t *hds; - VERIFY0(dsl_dataset_hold_obj(dp, + VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, ds->ds_dir->dd_phys->dd_head_dataset_obj, FTAG, &hds)); dsl_deadlist_remove_key(&hds->ds_deadlist, @@ -1907,7 +1908,7 @@ if (ds->ds_prev != NULL) { if (spa_version(dp->dp_spa) >= SPA_VERSION_DIR_CLONES) { - VERIFY0(zap_remove_int(mos, + VERIFY3U(0, ==, zap_remove_int(mos, ds->ds_prev->ds_dir->dd_phys->dd_clones, ds->ds_object, tx)); } @@ -1945,7 +1946,7 @@ err = dsl_dataset_snap_lookup(ds_head, ds->ds_snapname, &val); - ASSERT0(err); + ASSERT3U(err, ==, 0); ASSERT3U(val, ==, obj); } #endif @@ -2112,7 +2113,7 @@ } else if (next_clones_obj != 0) { remove_from_next_clones(ds->ds_prev, dsphys->ds_next_snap_obj, tx); - VERIFY0(zap_add_int(mos, + VERIFY3U(0, ==, zap_add_int(mos, next_clones_obj, dsobj, tx)); } } @@ -2202,7 +2203,7 @@ * Only trust it if it has the right number of entries. */ if (ds->ds_phys->ds_next_clones_obj != 0) { - ASSERT0(zap_count(mos, ds->ds_phys->ds_next_clones_obj, + ASSERT3U(0, ==, zap_count(mos, ds->ds_phys->ds_next_clones_obj, &count)); } if (count != ds->ds_phys->ds_num_children - 1) { @@ -2441,13 +2442,13 @@ VERIFY(0 == dsl_dataset_get_snapname(ds)); err = dsl_dataset_snap_remove(hds, ds->ds_snapname, tx); - ASSERT0(err); + ASSERT3U(err, ==, 0); mutex_enter(&ds->ds_lock); (void) strcpy(ds->ds_snapname, newsnapname); mutex_exit(&ds->ds_lock); err = zap_add(mos, hds->ds_phys->ds_snapnames_zapobj, ds->ds_snapname, 8, 1, &ds->ds_object, tx); - ASSERT0(err); + ASSERT3U(err, ==, 0); spa_history_log_internal_ds(ds, "rename", tx, "-> @%s", newsnapname); @@ -2805,7 +2806,7 @@ /* change the origin's next clone */ if (origin_ds->ds_phys->ds_next_clones_obj) { remove_from_next_clones(origin_ds, snap->ds->ds_object, tx); - VERIFY0(zap_add_int(dp->dp_meta_objset, + VERIFY3U(0, ==, zap_add_int(dp->dp_meta_objset, origin_ds->ds_phys->ds_next_clones_obj, oldnext_obj, tx)); } @@ -2822,20 +2823,20 @@ /* change dd_clone entries */ if (spa_version(dp->dp_spa) >= SPA_VERSION_DIR_CLONES) { - VERIFY0(zap_remove_int(dp->dp_meta_objset, + VERIFY3U(0, ==, zap_remove_int(dp->dp_meta_objset, odd->dd_phys->dd_clones, hds->ds_object, tx)); - VERIFY0(zap_add_int(dp->dp_meta_objset, + VERIFY3U(0, ==, zap_add_int(dp->dp_meta_objset, pa->origin_origin->ds_dir->dd_phys->dd_clones, hds->ds_object, tx)); - VERIFY0(zap_remove_int(dp->dp_meta_objset, + VERIFY3U(0, ==, zap_remove_int(dp->dp_meta_objset, pa->origin_origin->ds_dir->dd_phys->dd_clones, origin_head->ds_object, tx)); if (dd->dd_phys->dd_clones == 0) { dd->dd_phys->dd_clones = zap_create(dp->dp_meta_objset, DMU_OT_DSL_CLONES, DMU_OT_NONE, 0, tx); } - VERIFY0(zap_add_int(dp->dp_meta_objset, + VERIFY3U(0, ==, zap_add_int(dp->dp_meta_objset, dd->dd_phys->dd_clones, origin_head->ds_object, tx)); } @@ -2888,7 +2889,7 @@ continue; } - VERIFY0(dsl_dataset_hold_obj(dp, + VERIFY3U(0, ==, dsl_dataset_hold_obj(dp, za.za_first_integer, FTAG, &cnds)); o = cnds->ds_dir->dd_phys->dd_head_dataset_obj; @@ -2901,7 +2902,7 @@ zap_cursor_fini(&zc); } - ASSERT0(dsl_prop_numcb(ds)); + ASSERT3U(dsl_prop_numcb(ds), ==, 0); } /* @@ -3606,7 +3607,7 @@ ca->dp = ds->ds_dir->dd_pool; ca->dsobj = ds->ds_object; (void) strlcpy(ca->htag, htag, sizeof (ca->htag)); - VERIFY0(zfs_onexit_add_cb(minor, + VERIFY3U(0, ==, zfs_onexit_add_cb(minor, dsl_dataset_user_release_onexit, ca, NULL)); }