Print this page
3955 ztest failure: assertion refcount_count(&tx->tx_space_written) + delta <= tx->tx_space_towrite
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/ztest/ztest.c
          +++ new/usr/src/cmd/ztest/ztest.c
↓ open down ↓ 3597 lines elided ↑ open up ↑
3598 3598           */
3599 3599          tx = dmu_tx_create(os);
3600 3600  
3601 3601          dmu_tx_hold_write(tx, packobj, packoff, packsize);
3602 3602  
3603 3603          if (freeit)
3604 3604                  dmu_tx_hold_free(tx, bigobj, bigoff, bigsize);
3605 3605          else
3606 3606                  dmu_tx_hold_write(tx, bigobj, bigoff, bigsize);
3607 3607  
     3608 +        /* This accounts for setting the checksum/compression. */
     3609 +        dmu_tx_hold_bonus(tx, bigobj);
     3610 +
3608 3611          txg = ztest_tx_assign(tx, TXG_MIGHTWAIT, FTAG);
3609 3612          if (txg == 0) {
3610 3613                  umem_free(packbuf, packsize);
3611 3614                  umem_free(bigbuf, bigsize);
3612 3615                  return;
3613 3616          }
3614 3617  
3615 3618          dmu_object_set_checksum(os, bigobj,
3616 3619              (enum zio_checksum)ztest_random_dsl_prop(ZFS_PROP_CHECKSUM), tx);
3617 3620  
↓ open down ↓ 2641 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX