Print this page
Possibility to physically reserve space without writing leaf blocks
        
*** 1297,1307 ****
           * dnode will hang around after we finish processing its
           * children.
           */
          VERIFY(dnode_add_ref(dn, (void *)(uintptr_t)tx->tx_txg));
  
!         (void) dbuf_dirty(dn->dn_dbuf, tx);
  
          dsl_dataset_dirty(os->os_dsl_dataset, tx);
  }
  
  void
--- 1297,1307 ----
           * dnode will hang around after we finish processing its
           * children.
           */
          VERIFY(dnode_add_ref(dn, (void *)(uintptr_t)tx->tx_txg));
  
!         (void) dbuf_dirty(dn->dn_dbuf, tx, B_FALSE);
  
          dsl_dataset_dirty(os->os_dsl_dataset, tx);
  }
  
  void
*** 1460,1470 ****
                  dn->dn_next_nlevels[txgoff] = new_nlevels;
  
                  /* dirty the left indirects */
                  db = dbuf_hold_level(dn, old_nlevels, 0, FTAG);
                  ASSERT(db != NULL);
!                 new = dbuf_dirty(db, tx);
                  dbuf_rele(db, FTAG);
  
                  /* transfer the dirty records to the new indirect */
                  mutex_enter(&dn->dn_mtx);
                  mutex_enter(&new->dt.di.dr_mtx);
--- 1460,1470 ----
                  dn->dn_next_nlevels[txgoff] = new_nlevels;
  
                  /* dirty the left indirects */
                  db = dbuf_hold_level(dn, old_nlevels, 0, FTAG);
                  ASSERT(db != NULL);
!                 new = dbuf_dirty(db, tx, B_FALSE);
                  dbuf_rele(db, FTAG);
  
                  /* transfer the dirty records to the new indirect */
                  mutex_enter(&dn->dn_mtx);
                  mutex_enter(&new->dt.di.dr_mtx);