Print this page
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument is zero

*** 272,282 **** for (i = start; i <= end; i++, bp++) { if (BP_IS_HOLE(bp)) continue; rw_enter(&dn->dn_struct_rwlock, RW_READER); err = dbuf_hold_impl(dn, db->db_level-1, i, TRUE, FTAG, &subdb); ! ASSERT3U(err, ==, 0); rw_exit(&dn->dn_struct_rwlock); if (free_children(subdb, blkid, nblks, trunc, tx) == ALL) { ASSERT3P(subdb->db_blkptr, ==, bp); blocks_freed += free_blocks(dn, bp, 1, tx); --- 272,282 ---- for (i = start; i <= end; i++, bp++) { if (BP_IS_HOLE(bp)) continue; rw_enter(&dn->dn_struct_rwlock, RW_READER); err = dbuf_hold_impl(dn, db->db_level-1, i, TRUE, FTAG, &subdb); ! ASSERT0(err); rw_exit(&dn->dn_struct_rwlock); if (free_children(subdb, blkid, nblks, trunc, tx) == ALL) { ASSERT3P(subdb->db_blkptr, ==, bp); blocks_freed += free_blocks(dn, bp, 1, tx);
*** 292,302 **** for (i = start; i <= end; i++, bp++) { if (i == start && blkid != 0) continue; else if (i == end && !trunc) continue; ! ASSERT3U(bp->blk_birth, ==, 0); } #endif ASSERT(all || blocks_freed == 0 || db->db_last_dirty); return (all ? ALL : blocks_freed); } --- 292,302 ---- for (i = start; i <= end; i++, bp++) { if (i == start && blkid != 0) continue; else if (i == end && !trunc) continue; ! ASSERT0(bp->blk_birth); } #endif ASSERT(all || blocks_freed == 0 || db->db_last_dirty); return (all ? ALL : blocks_freed); }
*** 348,358 **** for (i = start; i <= end; i++, bp++) { if (BP_IS_HOLE(bp)) continue; rw_enter(&dn->dn_struct_rwlock, RW_READER); err = dbuf_hold_impl(dn, dnlevel-1, i, TRUE, FTAG, &db); ! ASSERT3U(err, ==, 0); rw_exit(&dn->dn_struct_rwlock); if (free_children(db, blkid, nblks, trunc, tx) == ALL) { ASSERT3P(db->db_blkptr, ==, bp); (void) free_blocks(dn, bp, 1, tx); --- 348,358 ---- for (i = start; i <= end; i++, bp++) { if (BP_IS_HOLE(bp)) continue; rw_enter(&dn->dn_struct_rwlock, RW_READER); err = dbuf_hold_impl(dn, dnlevel-1, i, TRUE, FTAG, &db); ! ASSERT0(err); rw_exit(&dn->dn_struct_rwlock); if (free_children(db, blkid, nblks, trunc, tx) == ALL) { ASSERT3P(db->db_blkptr, ==, bp); (void) free_blocks(dn, bp, 1, tx);
*** 469,479 **** /* * Our contents should have been freed in dnode_sync() by the * free range record inserted by the caller of dnode_free(). */ ! ASSERT3U(DN_USED_BYTES(dn->dn_phys), ==, 0); ASSERT(BP_IS_HOLE(dn->dn_phys->dn_blkptr)); dnode_undirty_dbufs(&dn->dn_dirty_records[txgoff]); dnode_evict_dbufs(dn); ASSERT3P(list_head(&dn->dn_dbufs), ==, NULL); --- 469,479 ---- /* * Our contents should have been freed in dnode_sync() by the * free range record inserted by the caller of dnode_free(). */ ! ASSERT0(DN_USED_BYTES(dn->dn_phys)); ASSERT(BP_IS_HOLE(dn->dn_phys->dn_blkptr)); dnode_undirty_dbufs(&dn->dn_dirty_records[txgoff]); dnode_evict_dbufs(dn); ASSERT3P(list_head(&dn->dn_dbufs), ==, NULL);