dsl_register_onexit_hold_cleanup(dsl_dataset_t *ds, const char *htag,
minor_t minor)
{
- zfs_hold_cleanup_arg_t *ca = kmem_alloc(sizeof (*ca), KM_SLEEP);
+ zfs_hold_cleanup_arg_t *ca = kmem_alloc(sizeof (*ca), KM_PUSHPAGE);
spa_t *spa = dsl_dataset_get_spa(ds);
(void) strlcpy(ca->zhca_spaname, spa_name(spa),
sizeof (ca->zhca_spaname));
zap_attribute_t *za;
zap_cursor_t zc;
- za = kmem_alloc(sizeof (zap_attribute_t), KM_SLEEP);
+ za = kmem_alloc(sizeof (zap_attribute_t), KM_PUSHPAGE);
for (zap_cursor_init(&zc, ds->ds_dir->dd_pool->dp_meta_objset,
ds->ds_phys->ds_userrefs_obj);
zap_cursor_retrieve(&zc, za) == 0;
{
rrw_node_t *rn;
- rn = kmem_alloc(sizeof (*rn), KM_SLEEP);
+ rn = kmem_alloc(sizeof (*rn), KM_PUSHPAGE);
rn->rn_rrl = rrl;
rn->rn_next = tsd_get(rrw_tsd_key);
rn->rn_tag = tag;
if (error)
return (error);
- ap = kmem_alloc(sizeof (zfs_onexit_action_node_t), KM_SLEEP);
+ ap = kmem_alloc(sizeof (zfs_onexit_action_node_t), KM_PUSHPAGE);
list_link_init(&ap->za_link);
ap->za_func = func;
ap->za_data = data;