Print this page
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero
*** 590,602 ****
if (vd->vdev_mg != NULL) {
vdev_metaslab_fini(vd);
metaslab_group_destroy(vd->vdev_mg);
}
! ASSERT3U(vd->vdev_stat.vs_space, ==, 0);
! ASSERT3U(vd->vdev_stat.vs_dspace, ==, 0);
! ASSERT3U(vd->vdev_stat.vs_alloc, ==, 0);
/*
* Remove this vdev from its parent's child list.
*/
vdev_remove_child(vd->vdev_parent, vd);
--- 590,602 ----
if (vd->vdev_mg != NULL) {
vdev_metaslab_fini(vd);
metaslab_group_destroy(vd->vdev_mg);
}
! ASSERT0(vd->vdev_stat.vs_space);
! ASSERT0(vd->vdev_stat.vs_dspace);
! ASSERT0(vd->vdev_stat.vs_alloc);
/*
* Remove this vdev from its parent's child list.
*/
vdev_remove_child(vd->vdev_parent, vd);
*** 1803,1813 ****
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
if (vd->vdev_detached) {
if (smo->smo_object != 0) {
int err = dmu_object_free(mos, smo->smo_object, tx);
! ASSERT3U(err, ==, 0);
smo->smo_object = 0;
}
dmu_tx_commit(tx);
return;
}
--- 1803,1813 ----
tx = dmu_tx_create_assigned(spa->spa_dsl_pool, txg);
if (vd->vdev_detached) {
if (smo->smo_object != 0) {
int err = dmu_object_free(mos, smo->smo_object, tx);
! ASSERT0(err);
smo->smo_object = 0;
}
dmu_tx_commit(tx);
return;
}
*** 2003,2013 ****
dmu_tx_t *tx;
tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg);
if (vd->vdev_dtl_smo.smo_object) {
! ASSERT3U(vd->vdev_dtl_smo.smo_alloc, ==, 0);
(void) dmu_object_free(mos, vd->vdev_dtl_smo.smo_object, tx);
vd->vdev_dtl_smo.smo_object = 0;
}
if (vd->vdev_ms != NULL) {
--- 2003,2013 ----
dmu_tx_t *tx;
tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg);
if (vd->vdev_dtl_smo.smo_object) {
! ASSERT0(vd->vdev_dtl_smo.smo_alloc);
(void) dmu_object_free(mos, vd->vdev_dtl_smo.smo_object, tx);
vd->vdev_dtl_smo.smo_object = 0;
}
if (vd->vdev_ms != NULL) {
*** 2015,2025 ****
metaslab_t *msp = vd->vdev_ms[m];
if (msp == NULL || msp->ms_smo.smo_object == 0)
continue;
! ASSERT3U(msp->ms_smo.smo_alloc, ==, 0);
(void) dmu_object_free(mos, msp->ms_smo.smo_object, tx);
msp->ms_smo.smo_object = 0;
}
}
--- 2015,2025 ----
metaslab_t *msp = vd->vdev_ms[m];
if (msp == NULL || msp->ms_smo.smo_object == 0)
continue;
! ASSERT0(msp->ms_smo.smo_alloc);
(void) dmu_object_free(mos, msp->ms_smo.smo_object, tx);
msp->ms_smo.smo_object = 0;
}
}
*** 2293,2303 ****
return (spa_vdev_state_exit(spa,
vd, error));
(void) spa_vdev_state_exit(spa, vd, 0);
goto top;
}
! ASSERT3U(tvd->vdev_stat.vs_alloc, ==, 0);
}
/*
* Offline this device and reopen its top-level vdev.
* If the top-level vdev is a log device then just offline
--- 2293,2303 ----
return (spa_vdev_state_exit(spa,
vd, error));
(void) spa_vdev_state_exit(spa, vd, 0);
goto top;
}
! ASSERT0(tvd->vdev_stat.vs_alloc);
}
/*
* Offline this device and reopen its top-level vdev.
* If the top-level vdev is a log device then just offline