Print this page
patch first-pass

@@ -1378,10 +1378,11 @@
 
         if (handle == NULL) {
                 sa_handle_t *winner = NULL;
 
                 handle = kmem_cache_alloc(sa_cache, KM_SLEEP);
+                handle->sa_dbu.dbu_evict_func_prep = NULL;
                 handle->sa_dbu.dbu_evict_func = NULL;
                 handle->sa_userp = userp;
                 handle->sa_bonus = db;
                 handle->sa_os = os;
                 handle->sa_spill = NULL;

@@ -1389,11 +1390,12 @@
                 handle->sa_spill_tab = NULL;
 
                 error = sa_build_index(handle, SA_BONUS);
 
                 if (hdl_type == SA_HDL_SHARED) {
-                        dmu_buf_init_user(&handle->sa_dbu, sa_evict, NULL);
+                        dmu_buf_init_user(&handle->sa_dbu, NULL, sa_evict,
+                            NULL);
                         winner = dmu_buf_set_user_ie(db, &handle->sa_dbu);
                 }
 
                 if (winner != NULL) {
                         kmem_cache_free(sa_cache, handle);