Mercurial > illumos > illumos-gate
comparison usr/src/uts/common/fs/zfs/dsl_dataset.c @ 13805:e3a9ae14a119
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero
Reviewed by Matt Ahrens <matthew.ahrens@delphix.com>
Reviewed by George Wilson <george.wilson@delphix.com>
Approved by Eric Schrock <eric.schrock@delphix.com>
author | Madhav Suresh <madhav.suresh@delphix.com> |
---|---|
date | Fri, 07 Sep 2012 07:19:55 -0700 |
parents | ac6eff781c67 |
children | d48547176ab4 |
comparison
equal
deleted
inserted
replaced
13804:9f4f28db61d2 | 13805:e3a9ae14a119 |
---|---|
1496 * ENOENT. However, at least we can check that we don't have | 1496 * ENOENT. However, at least we can check that we don't have |
1497 * too many entries in the next_clones_obj even after failing to | 1497 * too many entries in the next_clones_obj even after failing to |
1498 * remove this one. | 1498 * remove this one. |
1499 */ | 1499 */ |
1500 if (err != ENOENT) { | 1500 if (err != ENOENT) { |
1501 VERIFY3U(err, ==, 0); | 1501 VERIFY0(err); |
1502 } | 1502 } |
1503 ASSERT3U(0, ==, zap_count(mos, ds->ds_phys->ds_next_clones_obj, | 1503 ASSERT3U(0, ==, zap_count(mos, ds->ds_phys->ds_next_clones_obj, |
1504 &count)); | 1504 &count)); |
1505 ASSERT3U(count, <=, ds->ds_phys->ds_num_children - 2); | 1505 ASSERT3U(count, <=, ds->ds_phys->ds_num_children - 2); |
1506 } | 1506 } |
1583 poa.ds_prev = ds_prev; | 1583 poa.ds_prev = ds_prev; |
1584 poa.after_branch_point = after_branch_point; | 1584 poa.after_branch_point = after_branch_point; |
1585 poa.pio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); | 1585 poa.pio = zio_root(dp->dp_spa, NULL, NULL, ZIO_FLAG_MUSTSUCCEED); |
1586 VERIFY3U(0, ==, bpobj_iterate(&ds_next->ds_deadlist.dl_bpobj, | 1586 VERIFY3U(0, ==, bpobj_iterate(&ds_next->ds_deadlist.dl_bpobj, |
1587 process_old_cb, &poa, tx)); | 1587 process_old_cb, &poa, tx)); |
1588 VERIFY3U(zio_wait(poa.pio), ==, 0); | 1588 VERIFY0(zio_wait(poa.pio)); |
1589 ASSERT3U(poa.used, ==, ds->ds_phys->ds_unique_bytes); | 1589 ASSERT3U(poa.used, ==, ds->ds_phys->ds_unique_bytes); |
1590 | 1590 |
1591 /* change snapused */ | 1591 /* change snapused */ |
1592 dsl_dir_diduse_space(ds->ds_dir, DD_USED_SNAP, | 1592 dsl_dir_diduse_space(ds->ds_dir, DD_USED_SNAP, |
1593 -poa.used, -poa.comp, -poa.uncomp, tx); | 1593 -poa.used, -poa.comp, -poa.uncomp, tx); |
1618 ka.ds = ds; | 1618 ka.ds = ds; |
1619 ka.tx = tx; | 1619 ka.tx = tx; |
1620 err = traverse_dataset(ds, | 1620 err = traverse_dataset(ds, |
1621 ds->ds_phys->ds_prev_snap_txg, TRAVERSE_POST, | 1621 ds->ds_phys->ds_prev_snap_txg, TRAVERSE_POST, |
1622 kill_blkptr, &ka); | 1622 kill_blkptr, &ka); |
1623 ASSERT3U(err, ==, 0); | 1623 ASSERT0(err); |
1624 ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) || ds->ds_phys->ds_unique_bytes == 0); | 1624 ASSERT(!DS_UNIQUE_IS_ACCURATE(ds) || ds->ds_phys->ds_unique_bytes == 0); |
1625 | 1625 |
1626 return (err); | 1626 return (err); |
1627 } | 1627 } |
1628 | 1628 |
1674 (ZPROP_SRC_NONE | ZPROP_SRC_LOCAL | ZPROP_SRC_RECEIVED), | 1674 (ZPROP_SRC_NONE | ZPROP_SRC_LOCAL | ZPROP_SRC_RECEIVED), |
1675 &value); | 1675 &value); |
1676 psa.psa_effective_value = 0; /* predict default value */ | 1676 psa.psa_effective_value = 0; /* predict default value */ |
1677 | 1677 |
1678 dsl_dataset_set_reservation_sync(ds, &psa, tx); | 1678 dsl_dataset_set_reservation_sync(ds, &psa, tx); |
1679 ASSERT3U(ds->ds_reserved, ==, 0); | 1679 ASSERT0(ds->ds_reserved); |
1680 } | 1680 } |
1681 | 1681 |
1682 ASSERT(RW_WRITE_HELD(&dp->dp_config_rwlock)); | 1682 ASSERT(RW_WRITE_HELD(&dp->dp_config_rwlock)); |
1683 | 1683 |
1684 dsl_scan_ds_destroyed(ds, tx); | 1684 dsl_scan_ds_destroyed(ds, tx); |
1941 { | 1941 { |
1942 uint64_t val; | 1942 uint64_t val; |
1943 | 1943 |
1944 err = dsl_dataset_snap_lookup(ds_head, | 1944 err = dsl_dataset_snap_lookup(ds_head, |
1945 ds->ds_snapname, &val); | 1945 ds->ds_snapname, &val); |
1946 ASSERT3U(err, ==, 0); | 1946 ASSERT0(err); |
1947 ASSERT3U(val, ==, obj); | 1947 ASSERT3U(val, ==, obj); |
1948 } | 1948 } |
1949 #endif | 1949 #endif |
1950 err = dsl_dataset_snap_remove(ds_head, ds->ds_snapname, tx); | 1950 err = dsl_dataset_snap_remove(ds_head, ds->ds_snapname, tx); |
1951 ASSERT(err == 0); | 1951 ASSERT(err == 0); |
2435 VERIFY(0 == dsl_dataset_hold_obj(dd->dd_pool, | 2435 VERIFY(0 == dsl_dataset_hold_obj(dd->dd_pool, |
2436 dd->dd_phys->dd_head_dataset_obj, FTAG, &hds)); | 2436 dd->dd_phys->dd_head_dataset_obj, FTAG, &hds)); |
2437 | 2437 |
2438 VERIFY(0 == dsl_dataset_get_snapname(ds)); | 2438 VERIFY(0 == dsl_dataset_get_snapname(ds)); |
2439 err = dsl_dataset_snap_remove(hds, ds->ds_snapname, tx); | 2439 err = dsl_dataset_snap_remove(hds, ds->ds_snapname, tx); |
2440 ASSERT3U(err, ==, 0); | 2440 ASSERT0(err); |
2441 mutex_enter(&ds->ds_lock); | 2441 mutex_enter(&ds->ds_lock); |
2442 (void) strcpy(ds->ds_snapname, newsnapname); | 2442 (void) strcpy(ds->ds_snapname, newsnapname); |
2443 mutex_exit(&ds->ds_lock); | 2443 mutex_exit(&ds->ds_lock); |
2444 err = zap_add(mos, hds->ds_phys->ds_snapnames_zapobj, | 2444 err = zap_add(mos, hds->ds_phys->ds_snapnames_zapobj, |
2445 ds->ds_snapname, 8, 1, &ds->ds_object, tx); | 2445 ds->ds_snapname, 8, 1, &ds->ds_object, tx); |
2446 ASSERT3U(err, ==, 0); | 2446 ASSERT0(err); |
2447 | 2447 |
2448 spa_history_log_internal_ds(ds, "rename", tx, | 2448 spa_history_log_internal_ds(ds, "rename", tx, |
2449 "-> @%s", newsnapname); | 2449 "-> @%s", newsnapname); |
2450 dsl_dataset_rele(hds, FTAG); | 2450 dsl_dataset_rele(hds, FTAG); |
2451 } | 2451 } |
2895 dsl_dataset_rele(cnds, FTAG); | 2895 dsl_dataset_rele(cnds, FTAG); |
2896 } | 2896 } |
2897 zap_cursor_fini(&zc); | 2897 zap_cursor_fini(&zc); |
2898 } | 2898 } |
2899 | 2899 |
2900 ASSERT3U(dsl_prop_numcb(ds), ==, 0); | 2900 ASSERT0(dsl_prop_numcb(ds)); |
2901 } | 2901 } |
2902 | 2902 |
2903 /* | 2903 /* |
2904 * Change space accounting. | 2904 * Change space accounting. |
2905 * Note, pa->*usedsnap and dd_used_breakdown[SNAP] will either | 2905 * Note, pa->*usedsnap and dd_used_breakdown[SNAP] will either |