Print this page
Possibility to physically reserve space without writing leaf blocks

@@ -1297,11 +1297,11 @@
          * 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);
+        (void) dbuf_dirty(dn->dn_dbuf, tx, B_FALSE);
 
         dsl_dataset_dirty(os->os_dsl_dataset, tx);
 }
 
 void

@@ -1460,11 +1460,11 @@
                 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);
+                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);