Print this page
patch first-pass

@@ -79,10 +79,11 @@
         zap_phys_t *zp;
 
         ASSERT(RW_WRITE_HELD(&zap->zap_rwlock));
         zap->zap_ismicro = FALSE;
 
+        zap->zap_dbu.dbu_evict_func_prep = NULL;
         zap->zap_dbu.dbu_evict_func = zap_evict;
 
         mutex_init(&zap->zap_f.zap_num_entries_mtx, 0, 0, 0);
         zap->zap_f.zap_block_shift = highbit64(zap->zap_dbuf->db_size) - 1;
 

@@ -411,11 +412,11 @@
         l->l_dbuf = NULL;
 
         VERIFY(0 == dmu_buf_hold(zap->zap_objset, zap->zap_object,
             l->l_blkid << FZAP_BLOCK_SHIFT(zap), NULL, &l->l_dbuf,
             DMU_READ_NO_PREFETCH));
-        dmu_buf_init_user(&l->l_dbu, zap_leaf_pageout, &l->l_dbuf);
+        dmu_buf_init_user(&l->l_dbu, NULL, zap_leaf_pageout, &l->l_dbuf);
         winner = dmu_buf_set_user(l->l_dbuf, &l->l_dbu);
         ASSERT(winner == NULL);
         dmu_buf_will_dirty(l->l_dbuf, tx);
 
         zap_leaf_init(l, zap->zap_normflags != 0);

@@ -458,11 +459,11 @@
         rw_enter(&l->l_rwlock, RW_WRITER);
         l->l_blkid = blkid;
         l->l_bs = highbit64(db->db_size) - 1;
         l->l_dbuf = db;
 
-        dmu_buf_init_user(&l->l_dbu, zap_leaf_pageout, &l->l_dbuf);
+        dmu_buf_init_user(&l->l_dbu, NULL, zap_leaf_pageout, &l->l_dbuf);
         winner = dmu_buf_set_user(db, &l->l_dbu);
 
         rw_exit(&l->l_rwlock);
         if (winner != NULL) {
                 /* someone else set it first */